var s = "1001|386|||sdf|sdfsdf;1002|386|||sdfsf|sdfsf;";
            var re = new RegExp("|386|||","g");
            s = s.replace(re, "|386|ULP874094|Pepde 874094|");
            alert(s);怎么得到结果不对啊,我就是要把所有的|386|||替换成|386|ULP874094|Pepde 874094|,怎么写呢

解决方案 »

  1.   

     var s = "1001|386|||sdf|sdfsdf;1002|386|||sdfsf|sdfsf;";
    while(s.indexOf("386||")!=-1)
    {
    s=s.replace("386||","386|ULP874094|Pepde 874094");
    }
    alert(s);
      

  2.   

    就是用正则表达式不行 所以 才这样写s=s.replace(/386||/g,"386|ULP874094|Pepde 874094"); 这样写也不行要达到目的 不一定非得走那条路
      

  3.   

    var s = "1001|386|||sdf|sdfsdf;1002|386|||sdfsf|sdfsf;";
    // var re = new RegExp("\|386\|\|\|","g");
    var re = /\|386\|\|\|/g;
      s = s.replace(re, "|386|ULP874094|Pepde 874094|");
      alert(s);
      

  4.   

    补充一下,如果你非要用new, 那么用下面这句var re = new RegExp('\\|386\\|\\|\\|',"g");其实原因很简单,就是字符串转义的问题