2

考虑以下代码段:

var regex = /^\d+$/; // equivalent to new RegExp('^\\d+$');

console.println(regex.test('000'));  
console.println(regex.test('abc0')); 
console.println(regex.test('ddd')); 

人们会期望输出是:

true
false
false

但是,当我在运行 JavaScript 1.8 的 Adob​​e Acrobat X 上运行它时,它会输出:

false
false
true

这里发生了什么?

4

1 回答 1

3

这可能是在通往 Javascript 解释器的途中进行字符串处理的结果,导致您\d被解释为d. 一个额外的反斜杠(显然)可以解决问题。

/^\\d+$/
于 2013-01-08T22:33:32.240 回答