【发布时间】:2012-05-31 03:48:28
【问题描述】:
var str = "1405199610";
var re = new RegExp("\d{10}");
var myArray = re.test(str);
myArray 给出错误!
这怎么可能?我用在线正则表达式检查器对此进行了测试,结果正常。当我在控制台或 jsfiddler 中尝试时,它不起作用。我错过了什么吗?
【问题讨论】:
-
如果你在 Chrome 控制台中输入
new RegExp("\d{10}"),你会看到你的表达式变成了/d{10}/。为什么?因为\是字符串中的转义字符,\d是无效的转义序列,所以变成d。如果你想创建一个文字\你必须转义它\\ -
myArray对于包含布尔值的变量的名称可能有点误导!
标签: javascript regex escaping