也可以用循环
function MyReplace(oldStr,str)
{
 var newStr=oldStr;
 while(newStr.indexOf(str)>-1)
  newStr = newStr.replace(str,"");
 return newStr;
}

解决方案 »

  1.   

    function MyReplace(oldStr,str)
    {
     var newStr;
    var reg=new RegExp(str,"g");
      newStr = oldStr.replace(reg,"");
     return newStr;
    }
      

  2.   

    rightyeah(众妙之门) 
    你的“|”这个符去不掉
    返回的是|vvv%***<script languang=javascript>
    oldStr = "xxx:#|vvv%***";
    str = "xxx:#|";
     var newStr;
    var reg=new RegExp(str,"g");
      newStr = oldStr.replace(reg,"");
     alert(newStr);</script>
      

  3.   

    汗,忘记说一点,str里面不能有特殊符号,象(,),[,],|,+,*,?,^,$,等等,有这些符号的,需要用转义符。你的程序写成这样试试:str = "xxx:#\|";
      

  4.   

    oh.sorry
    是这样 str = "xxx:#\\|";
      

  5.   

    rightyeah(众妙之门) 
    谢谢
    这样也不行,刚才我是用来测试的
    oldStr,str
    传过来的参数,我并不知道它值是什么
      

  6.   

    function MyReplace(oldStr,str)
    {
     var newStr=oldStr;
     while(newStr.indexOf(str)>-1)
      newStr = newStr.replace(str,"");
     return newStr;
    }
      

  7.   

    <script languang=javascript>
    oldStr = "xxx:#|vvv%***";
    str = "xxx:#|";
    function MyReplace(oldStr,str)
    {
      var newStr;
      newStr = oldStr.split(str).join("");
      //var reg=new RegExp(str,"g");
      //newStr = oldStr.replace(reg,"");
      alert(newStr);
      return newStr;
    }
    MyReplace(oldStr, str);
    </script>
      

  8.   

    newStr = oldStr.replace(/str/g,'')
    就行
      

  9.   

    呵呵,还是 meizz(梅花雪) 的办法好,佩服一下