var txt="最怕你寂寞最怕你孤单最怕你寂寞最怕你孤单最怕你寂寞最怕你孤单";
 var txtok=/最/g;
 var a=txtok.exec(txt);
document.write(a[1]+"<br />");
怎么输出 a[2] 的时候就出现 underfind不是有好多 ”最“  的吗?我也开了 g 啊、、

解决方案 »

  1.   


    <script type="text/javascript">
    <!--
    var txt="最怕你寂寞最怕你孤单最怕你寂寞最怕你孤单最怕你寂寞最怕你孤单"; 
    var txtok=/最/g;  
    while((result = txtok.exec(txt)) != null){
    document.write(result[0] + "<br/>")
    }
    //-->
    </script>
      

  2.   

    var a = txt.match(txtok);
      

  3.   

    execmatch
      

  4.   


    <script type="text/javascript">
    <!--
    var txt="最怕你寂寞最怕你孤单最怕你寂寞最怕你孤单最怕你寂寞最怕你孤单"; 
    var txtok=/最/g;  
    while((result = txtok.exec(txt)) != null){
        document.write(result[0] + "<br/>")
    }
    //-->
    </script>
    exec()只匹配一个,再次调用的时候就从匹配的后面一个字符的位置进行匹配,
    所以你需要进行循环执行exec()来得到所有匹配。
    或者你使用字符串的match方法<script type="text/javascript">
    <!--
    var txt="最怕你寂寞最怕你孤单最怕你寂寞最怕你孤单最怕你寂寞最怕你孤单"; 
    var txtok=/最/g;  
    var result=txt.match(txtok);
        document.write(result);//-->
    </script>