经常使用replace来替换字符串中的一些字符。刚才朋友发了一段代码问我怎么回事,看了没明过来,大家来看看。<script type="text/javascript">
var testString = "asdfasdfasdfasd";
testString=testString.replace("s","1");
document.write(testString);
</script>
大家看看这段代码输出的内容
输出结果: a1dfasdfasdfasd为何没有将原字符中所有的s都替换成1呢?!

解决方案 »

  1.   

    <script type="text/javascript">
            var testString = "asdfasdfasdfasd";
            testString=testString.replace(/s/g,"1");
            document.write(testString);
        </script>
    你那么写 并不是全部替换
      

  2.   

    定义:stringObject.replace(regexp,replacement)如果regexp没有g标记,或者regexp是一个字符串,则只执行一次匹配替换 如 '2008-11-12'.replace('-', '/') 的值是 '2008/11-12';如果要得到值'2008/11/12',则需要执行 '2008-11-12'.replace(/-/g, '/')
      

  3.   

    JS中这个替换真特别,一直没有留意。
    我汗
    后面添加/g就相当于用正则进行全局替换了,对不。