V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xinzhi
V2EX  ›  问与答

[Javascript/jQuery]请教正则表达式写法

  •  
  •   xinzhi · 2010-08-27 23:36:09 +08:00 · 5398 次点击
    这是一个创建于 5183 天前的主题,其中的信息可能已经有所发展或是发生改变。


    $.mask = {
    definitions: {
    'a': "a"
    'b': "b"
    //这里省略c到y
    'z': "z"
    }
    };

    在上面的括弧中,用一句正则还是什么的,替代A~Z(不区分大小写),应该是怎样的呢?

    也就是A-Za-z0-9替换下面的a吧:
    $.mask.definitions['a']='[a]';
    6 条回复    1970-01-01 08:00:00 +08:00
    zaykl
        1
    zaykl  
       2010-09-04 01:11:18 +08:00
    不是很明白你的意思...
    Majia
        2
    Majia  
       2010-09-04 01:27:08 +08:00
    我不太明白,你是想这样?

    %perl -p -i -e 's/(\[[\w\s?!]\])/$1/ig' YourFile
    rveo
        3
    rveo  
       2010-09-04 01:31:13 +08:00
    应该是 [a-z]{1} 吧?
    xinzhi
        4
    xinzhi  
    OP
       2010-09-04 08:09:11 +08:00
    我是要小改一下masked input (http://digitalbush.com/projects/masked-input-plugin/jQuery)这个插件,实现键盘输入和预设一一对应,比如$("#text").mask("Hello World");就要求正确输入组成“Hello world”的每一个字母。

    我修改相关代码可以获得基本一致的效果,但代码似乎太累赘了。我觉得26个字母包括大小写,还有一些常用的标点符号,我的代码要写五六十行,而正则仅需一行即可表达相同的意思。

    谢谢帮忙!
    rex
        5
    rex  
       2010-09-04 12:15:54 +08:00
    个人以为,正则式适合对现有的文本后发地写规则去匹配,而不是使用现有的规则去动态生成文本,后者应该是编程语言干的活儿。

    建议使用一个循环生成语句,再eval一下,这样似乎紧凑些。

    Anyway,或许有高人提供正则解,坐等。
    zaykl
        6
    zaykl  
       2010-09-04 12:37:19 +08:00
    非正则达人...目前只是懂得普通的匹配,楼主这个东西确实是可以通过正则来处理,可惜是很久看到的文章..
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5537 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 08:31 · PVG 16:31 · LAX 00:31 · JFK 03:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.