一个JS正则的问题 求解答

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

上面是谷歌控制台真实显示的内容 
不知道是不是我正则写法问题 
一会可以匹配 一会不能匹配 很奇怪

MYYA
浏览 348回答 1
1回答

浮云间

因为g全局匹配会记录上一次的内容的index为lastIndex,第二次匹配会从lastIndex开始,所以这里不要用全局匹配就行。或是每次更新正则表达式。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript