4
var str = "1405199610";
var re = new RegExp("\d{10}");
var myArray = re.test(str);

myArray 给出错误!

这怎么可能?我用在线正则表达式检查器对此进行了测试,结果正常。当我在控制台或 jsfiddler 中尝试时,它不起作用。我错过了什么吗?

4

1 回答 1

13
var re = new RegExp("\\d{10}");

您需要转义\何时由RegExp()对象创建正则表达式

请参阅MDN 参考

...此外,在使用新的 RegExp("pattern") 表示法时不要忘记转义 \ 本身,因为 \ 也是字符串中的转义字符。

于 2012-05-24T14:30:50.330 回答