大家好,我有以下问题,请帮忙看看:   某字符串中有全角的“-”,本想使用replace替换为半角的“-”并重新赋值给它,但无法成功:
   var tmp = "我含有一个全角-字符";
   tmp = tmp.replace("-", "-");谢谢!

解决方案 »

  1.   


      <script type="text/javascript">
    var tmp = "我含有一个全角-字符";
    alert(tmp)
       tmp = tmp.replace("-", "-");
    alert(tmp)
      </script>可以呀
      

  2.   

    谢谢楼上的回复!在Chrome与FF中试过可以,但IE不行。
    下面的网页可测试:
    Tryit Editor v1
      

  3.   


    我刚刚在ie6中测试通过的啊,你的是ie几?var str="Visit Micro---soft!";
    document.write(str.replace("-","-"));  // "Visit Micro---soft"
      

  4.   

    咦?我测试过IE6和IE8,都不行啊!
      

  5.   

    我的个乖乖!OK:Visit Micro---soft!
    NG:Visit-Micro---soft
      

  6.   

    文件都存为utf8编码,用这个试试:str.replace(/\uff0d/g, "-")
      

  7.   

    alert("-".charCodeAt(0).toString(16))
      

  8.   


    那就用全局的replace啊
    var str="Visit-Micro---soft!";
    document.write(str.replace(/[-]/g,"-"));  // "Visit-Micro---soft"
      

  9.   

    谢谢楼上诸位的热情回复!好像还真是这么回事,不知怎的,昨天可能弄混淆了。replace中带上g参数就是替换所有匹配的字符,不加就是只替换第一个字符,与“-”这个全角符号无关,也与浏览器(大多数)无关。
    受教了!!!
      

  10.   

    太低级的失误了!!!我我我...我测试用的这个JS文件,不是UTF-8的编码!!!
    现在改为UTF-8,str.replace(/-/g,"-")就可以替换该字符串中所有全角“-”了!