最近做项目中使用js自己写了一点正则表达式的验证,发现了个有趣的问题,仅做记录。
编辑正则表达式时,如果以$符为结尾,就是全词匹配, 否则,只要被测试字符串中有部分符合正则表达式就会返回true。
var regx = /[0-9]{8}([,][0-9]{8})*/;
var s = "11111111,2222";
var result = regx.test(s);
上面代码,result为true . 而如果表达式以$结尾,则返回false,如下所示。。。经验证,与是否以^符开头无关。
var regx = /^[0-9]{8}([,][0-9]{8})*$/;
var s = "11111111,2222";
var result = regx.test(s);
上面代码。result为 false.