V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
Glink
V2EX  ›  JavaScript

input,onkeyup,正则规则应该如何写

  •  
  •   Glink · 2021-09-03 08:53:41 +08:00 · 1210 次点击
    这是一个创建于 938 天前的主题,其中的信息可能已经有所发展或是发生改变。

    举例有一串字符串: [挖草 XX123 ] abc.

    下面??的正则内容需要怎么写才能精确匹配到 abc.
    迫于水平,望各位大佬解惑。谢谢

    onkeyup="this.value=this.value.replace (??)

    第 1 条附言  ·  2021-09-03 09:51:01 +08:00
    Html 代码


    <!DOCTYPE html>
    <html lang="zh-cn">
    <body>
    <input placeholder="粘贴到这~" onkeyup="this.value=this.value.replace()">
    </body>
    </html>
    cheese
        1
    cheese  
       2021-09-03 09:07:24 +08:00
    你到底要匹配啥?小写英文字符?
    Glink
        2
    Glink  
    OP
       2021-09-03 09:10:24 +08:00
    @cheese 感谢回复,例如我复制了一串字符串 [挖草 XX123] abc. 需要粘贴到 input,利用 Onkeyup,只需要留下 abc.
    InDom
        3
    InDom  
       2021-09-03 09:14:00 +08:00
    /\[挖草 XX123 \] (abc)\./

    这个可以
    b1iy
        4
    b1iy  
       2021-09-03 09:14:40 +08:00
    (?<=\[.*\]\s+)[\w\.]+

    这个?
    Glink
        5
    Glink  
    OP
       2021-09-03 09:18:59 +08:00
    @InDom 我疏忽了一点, [挖草 XX123] 这个是随机的,中文英文数字的组合
    Glink
        6
    Glink  
    OP
       2021-09-03 09:21:30 +08:00
    @b1iy 好像不行
    AreYou0k
        7
    AreYou0k  
       2021-09-03 09:22:48 +08:00
    直接 split("]")行吗?
    Glink
        8
    Glink  
    OP
       2021-09-03 09:51:55 +08:00
    @AreYou0k 水平有限不知道如何实现, [] 也是中文的字符,好像 V2EX 直接转化了
    zxcslove
        9
    zxcslove  
       2021-09-03 09:54:33 +08:00
    整理一下,就是要保留任意字符串中结尾部分的英文字符串?
    Glink
        10
    Glink  
    OP
       2021-09-03 09:56:23 +08:00
    @zxcslove 是的,复制了[挖草 XX123 ] abc. (后面有个点号)这个字符串,粘贴到 input,只保留 abc. 谢谢你
    zxcslove
        11
    zxcslove  
       2021-09-03 09:58:28 +08:00
    不比客气,我就是个翻译
    renmu123
        12
    renmu123  
       2021-09-03 09:59:49 +08:00 via Android
    split (']')[1]
    Glink
        13
    Glink  
    OP
       2021-09-03 10:05:29 +08:00
    @renmu123 水平有限,需要怎么实现?谢谢
    cpstar
        14
    cpstar  
       2021-09-03 11:40:26 +08:00
    onkeyup 时间不是太好,onblur 好一些,个人判断

    至于正则这块,甭管是半角的方括号还是全角的方括号,replace 的目的是把方括号(含)的内容全都替换掉么?
    this.value.replace(/\[.*\]/,'')
    maplerecall
        15
    maplerecall  
       2021-09-03 11:50:52 +08:00
    楼上正则没问题,要中文方括号自行替换一下,另外如果只粘贴的话使用 onpaste 或者 oninput,onblur 得点下其它地方才能生效不太高效
    Glink
        16
    Glink  
    OP
       2021-09-03 12:17:54 +08:00
    @cpstar 可以了,谢谢大佬。
    Glink
        17
    Glink  
    OP
       2021-09-03 12:18:17 +08:00
    @maplerecall 水平有限,我先了解看看,谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2822 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 14:39 · PVG 22:39 · LAX 07:39 · JFK 10:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.