Press "Enter" to skip to content

正确使用JS中的正则

yuchen网友发来一个问题, 大体意思就是在JS中, 同样的正则, 同样的字符串, 循环匹配结果却不一样 ,

<script type='text/javascript'>
var reTest = /^aid=(.*)/ig;
var aData = [ 'aid=^$', 'aid=^$', 'aid=^$', 'aid=^$' ];
for (var i=0, l=aData.length; i<l; i++) {
	alert(reTest.test(aData[i]));
}
</script>

结果却是:

true
false
true
false

为什么会这样呢?

Filed in Js/CSS
with 15 Comments