日期:2014-05-16 浏览次数:20413 次
var a = /^[a-zA-Z]\w{5,17}$/i; alert(a.test("abncdfe")); //结果是 true var b = "^[a-zA-Z]\w{5,17}$"; alert(new RegExp(b,"i").test("abncdfe")); //这个结果却是 false
<script> var a = /^[a-zA-Z]\w{5,17}$/i; alert(a.test("abncdfe")); //结果是 true var b = "^[a-zA-Z]\\w{5,17}$"; alert(new RegExp(b,"i").test("abncdfe")); </script>
------解决方案--------------------
楼上正解
第二种方式里,\w 在转义字符里没有意义,最终系统中存储的时候会把 \w 重新置为 w,因此用它来创建的正则与原有方式不一致。