用new创建正则表达式的字符串注意事项
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用new创建正则表达式的字符串注意事项相关的知识,希望对你有一定的参考价值。
例子:验证个人身份证的正则表达式创建
var regex = new RegExp("^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|(X|x))$")
这样创建出来的正则表达式变为:
/^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}([0-9]|(X|x))$/
d前面都没有了反斜杠,是因为\是字符串里的特殊字符,字符串里需要用两个\才能表示出一个\
正确做法:
var regex = new RegExp("^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|(X|x))$")
这样才能创建出正确的正则表达式
/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|(X|x))$/
以上是关于用new创建正则表达式的字符串注意事项的主要内容,如果未能解决你的问题,请参考以下文章