日期:2014-05-16  浏览次数:20384 次

非常诡异的 正则表达式 失效问题..... 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:代表可以进行多行匹配。
      可以任意组合,当然也可以不加参数

默认是不区别大小写的