var re = /^\d{6,}$/g;
var num1 = 6228210660042337762;
re.test(num1)
true
var num2 = 6228210660042337765;
re.test(num2)
false
var num2 = 6228210660042337765;
re.test(num2)
true
var num2 = 6228210660042337765;
re.test(num2)
false
var num2 = 6228210660042337765;
re.test(num2)
true
var num2 = 6228210660042337765;
re.test(num2)
false
var num2 = 6228210660042337765;
console.log(re.test(num2))
VM4611:2 true
undefined
var num2 = 6228210660042337765;
console.log(re.test(num2))
VM4612:2 false
undefined
var num2 = 6228210660042337765;
console.log(re.test(num2))
VM4613:2 true
undefined
var num2 = 6228210660042337765;
console.log(re.test(num2))
VM4614:2 false
上面是谷歌控制台真实显示的内容
不知道是不是我正则写法问题
一会可以匹配 一会不能匹配 很奇怪
因为g全局匹配会记录上一次的内容的index为lastIndex,第二次匹配会从lastIndex开始,所以这里不要用全局匹配就行。
或是每次更新正则表达式。