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

相关文章:

猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-05-17
相关资源
相似解决方案