这是一个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>");
输出
true
false
true
答案 0 :(得分:7)
摆脱g
。它不是必需的,它会导致正则表达式失败,因为RegExp对象会根据上一个匹配项跟踪其位置:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp/test
与exec(或与其结合使用)一样,在同一个全局正则表达式实例上多次调用的测试将超过上一个匹配。