Javascript号正则表达式测试失败 - 无法弄清楚原因

rth*_*sen 0 javascript regex

这是一个jsFiddle:jsFiddle

相关代码:

var number = /\d+(.\d+)?/g;

$('body').append(number.test(2.5) + "<br>");
$('body').append(number.test(20) + "<br>");
$('body').append(number.test(2) + "<br>");
Run Code Online (Sandbox Code Playgroud)

产量

true
false
true
Run Code Online (Sandbox Code Playgroud)

Exp*_*lls 7

摆脱了g.它不需要,它会导致正则表达式失败,因为RegExp对象根据前一个匹配项跟踪其位置:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp/测试

与exec(或与其结合)一样,在同一个全局正则表达式实例上多次调用的测试将超过上一个匹配.

http://jsfiddle.net/BUpyd/1/