javascript与test()方法一起使用后的RegExp模式更改

时间:2013-07-09 16:40:58

标签: javascript jquery

我有这个简单的模式来验证时间 - 24小时模式 -

var patt = /^([0-1][0-9]|[2][0-3]):([0-5][0-9])$/g; 

如果我用.test()方法执行此模式两次,我会得到两个不同的值

喜欢这个

代码

console.log(patt.test('01:09')); // true
console.log(patt.test('01:09')); // false 

我注意到如果我执行以下操作,我会得到相同的结果:

var patt = /^([0-1][0-9]|[2][0-3]):([0-5][0-9])$/g; 
console.log(patt.test('01:09')); // true

var patt = /^([0-1][0-9]|[2][0-3]):([0-5][0-9])$/g; 
console.log(patt.test('01:09'));//true

问题 我将重新启动patt对象作为我的案例,但我很想知道会发生什么

我还注意到patt对象在使用test()方法

后不会改变

jsFiddle对于那些想要证明某事的人

1 个答案:

答案 0 :(得分:1)

删除global标志。目前它正在第二次在输入字符串的末尾搜索,它将再次找不到该模式。请参阅docs for the lastIndex property