js 正则表达式的index值

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
posted on 2012-08-23 10:49  雨弓  阅读(1183)  评论(0编辑  收藏  举报