读书人

非常诡异的 正则表达式 失效有关问题.

发布时间: 2013-03-06 16:20:31 作者: rapoo

非常诡异的 正则表达式 失效问题..... A-Z 可以匹配小写字母, 求助...
非常诡异的 正则表达式 失效问题..... A-Z 可以匹配小写字母, 求助...

不知各位是否用过

formValidator-4.1.3.min.js
这个 JQ 校验插件,
在这个插件中, 用

.regexValidator({
regExp:"^[A-Z][a-z0-9_]+$",
dataType:"string",
onError:"内容格式不正确..."
});

这段来做正则表达式校验, 基本就是
JavaScript
格式的代码.

相信大家也看到了
regExp:"^[A-Z][a-z0-9_]+$",
这句,
字面意思来看, 就是 "大写字母开始, 后边由小写字母,数字, 下划线 组成, 比如: Zero_1",

但这个表达式的问题在于, 无论如何, 用小写字母开头, 也能匹配通过, 比如 "aa" 也提示正确!

为何啊 !!

PS: 这段 JQ 代码写法基本是正确的, 因为同一个模子写别的表达式就正常, 唯独这个大小写出问题 ! 正则表达式
[解决办法]
formValidator里对regExp的限定是什么?估计在那个地方设置了大小写不敏感。象这样的语句new RegExp(str,"i");
[解决办法]
http://www.yhuan.com/doc/regexValidator.html

param
(默认: "i") 属性名:附加参数。 值有以下几种类型:
g:代表可以进行全局匹配。
i:代表不区分大小写匹配。
m:代表可以进行多行匹配。
可以任意组合,当然也可以不加参数

默认是不区别大小写的

读书人网 >JavaScript

热点推荐