js的正则对象会保存上次查找到的索引值 ,导致的结果就是执行相同的test或exec操作 会出现不同的结果
var reg = /\d/g
var s = '1sss'
var i = reg.test(s)
console.log(i,reg.lastIndex)
>>>true 1
var i = reg.test(s)
console.log(i,reg.lastIndex)
>>>false 0
要重置的话直接设置索引值就好了
reg.lastIndex = 0
var i = reg.test(s)
console.log(i,reg.lastIndex)
>>>true 1
本文探讨了JavaScript中正则表达式的全局搜索特性,特别是如何利用lastIndex属性进行连续匹配,以及在使用全局标志(g)时如何重置lastIndex以避免影响后续的搜索结果。
1595

被折叠的 条评论
为什么被折叠?



