var re = /^\d{6,}$/g;var num1 = 6228210660042337762;re.test(num1)truevar num2 = 6228210660042337765;re.test(num2)falsevar num2 = 6228210660042337765;re.test(num2)truevar num2 = 6228210660042337765;re.test(num2)falsevar num2 = 6228210660042337765;re.test(num2)truevar num2 = 6228210660042337765;re.test(num2)falsevar num2 = 6228210660042337765;console.log(re.test(num2))VM4611:2 trueundefinedvar num2 = 6228210660042337765;console.log(re.test(num2))VM4612:2 falseundefinedvar num2 = 6228210660042337765;console.log(re.test(num2))VM4613:2 trueundefinedvar num2 = 6228210660042337765;console.log(re.test(num2))VM4614:2 false上面是谷歌控制台真实显示的内容 不知道是不是我正则写法问题 一会可以匹配 一会不能匹配 很奇怪
1 回答
浮云间
TA贡献1829条经验 获得超4个赞
因为g全局匹配会记录上一次的内容的index为lastIndex,第二次匹配会从lastIndex开始,所以这里不要用全局匹配就行。
或是每次更新正则表达式。
添加回答
举报
0/150
提交
取消