javascript输出结果全是false

 <script>
var re = null,
i;
for(i=0;i<10;i++){
re = new RegExp("cat","g");
re.test("catyyyyyyyy");
alert(re.test("catyyyyyyyy"));
}
</script>

去掉g试试看

不能要g,加了g会从第二次匹配的位置开始查找。你的re.test("catyyyyyyyy");已经匹配过一次了,会记住字符串位置为y后面开始匹配,

除非你第二次内容是这样

alert(re.test("catyyyyyyyycatyy"));

可以看这个:http://www.cnblogs.com/rentj1/archive/2011/04/26/2029872.html