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

2010-08-27 23:36:09 +08:00
 xinzhi
http://gist.github.com/553587

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

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

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

%perl -p -i -e 's/(\[[\w\s?!]\])/$1/ig' YourFile
rveo
2010-09-04 01:31:13 +08:00
应该是 [a-z]{1} 吧?
xinzhi
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
2010-09-04 12:15:54 +08:00
个人以为,正则式适合对现有的文本后发地写规则去匹配,而不是使用现有的规则去动态生成文本,后者应该是编程语言干的活儿。

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

Anyway,或许有高人提供正则解,坐等。
zaykl
2010-09-04 12:37:19 +08:00
非正则达人...目前只是懂得普通的匹配,楼主这个东西确实是可以通过正则来处理,可惜是很久看到的文章..

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/2082

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX