首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JAVASCRIPT正则表达式太奇怪了解决方法

2012-03-09 
JAVASCRIPT正则表达式太奇怪了JScript codevar a /^[a-zA-Z]\w{5,17}$/ialert(a.test(abncdfe))//结

JAVASCRIPT正则表达式太奇怪了

JScript code
var a = /^[a-zA-Z]\w{5,17}$/i;alert(a.test("abncdfe"));//结果是 truevar b = "^[a-zA-Z]\w{5,17}$";alert(new RegExp(b,"i").test("abncdfe"));//这个结果却是 false


看代码。有人遇到过吗?

[解决办法]
转义字符的问题

HTML code
<script>var a = /^[a-zA-Z]\w{5,17}$/i;alert(a.test("abncdfe"));//结果是 truevar b = "^[a-zA-Z]\\w{5,17}$";alert(new RegExp(b,"i").test("abncdfe"));</script>
[解决办法]
楼上正解

第二种方式里,\w 在转义字符里没有意义,最终系统中存储的时候会把 \w 重新置为 w,因此用它来创建的正则与原有方式不一致。

热点排行