replace("888|","")
如果字符窜中只有一个888,上面的方法就可以,如果超过1个888,就要用正则表达式了

解决方案 »

  1.   

    var s="2345234|888|3454|6765|";
        alert(s.replace("888|",""));这么规则的格式,没有必要用正则吧
      

  2.   

    也有问题的
    var s="2345234|888|3454|6765|";
    var s="23452343454|6765|";
      

  3.   

    - -#
    replace里放个函数。。
    <script type="text/javascript">
    var s = "|888|2345234|888|3454|6765|888|";
    var j = s.replace(/(\||^)888(\||$)/g, function (a, b, c) {
    if (b + c == "||") return c;
    else return "";
    });
    alert(j);
    </script>
      

  4.   

    大家喜欢把问题复杂化?
    replace("|888|","|");
      

  5.   

    var s="2345234|3454|888|";
        alert(s.replace(/(^|\|)888(\||$)/,"$1"));
      

  6.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>shawl.qiu template</title>
    <style type="text/css">
    /* <![CDATA[ *//* ]]> */
    </style>
    <script type="text/javascript">
    //<![CDATA[
    if (navigator.appName=="Microsoft Internet Explorer") {
    //最大化窗口
    self.moveTo(-5,-5)
    self.resizeTo(screen.availWidth +8,screen.availHeight+8)
    //这个脚本定义的宽度其实比原窗口还要大那么一点.
    }
    //]]>
    </script>
    <script type="text/javascript">
    //<![CDATA[
     var s="2345234|888|3454|6765|";
     
     s=s.
      replace(/(\|)\b888\b(\|)/g,"$1$2").
      replace(/\|+/g,"|");
      
     alert(s);
    //]]>
    </script>
    </head>
    <body></body>
    </html>
      

  7.   

    var s = "888|888888|2345234|888|3454|6765|888|888|888|888";
    var j = s.replace(/((\||^)888)+(\||$)/g, function (a, b, c, d) {
    if (c + d == "||") return c;
    else return "";
    });
    alert(j);
    呵,我回来了。
      

  8.   

    to 各位楼上。。
    888|888|888|888
    /(\||^)888(\||$)/g;
    这种式子不会通过这个的。。
    ^o^
      

  9.   

    while(s.indexOf("|888|")){  s = s.replace("|888|","|");
    }不要搞那么复杂只要你保证 s 是 xxx|yyy|这样的格式就可以了,如果不是就先把s处理一下让它是这个格式
      

  10.   

    哈哈, 想较劲么...你再弄复杂复杂的来, 俺照样切了....<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>shawl.qiu template</title>
    <script type="text/javascript">
    //<![CDATA[
     var s = "888|888888|2345234|888|3454|6765|888|888|888|888";
     s=fDelRddcAr(s.split("|"), 0).join("|");
     
     s=s.
      replace(/(\|)\b888\b(\|)/g,"$1$2").
      replace(/\|+/g,"|");
      
     alert(s);
     
     
    function fDelRddcAr(array, pram){
    var temp = '';
    var ='$$$###';
    array=array.join();
    var re=new RegExp('.*?'+.replace(/(.)/g,'\\$1')+'|.*?$','g'); 
    var re_=new RegExp(.replace(/(.)/g,'\\$1')+'$');

    array.replace(re,function(){
    if(temp.indexOf(arguments[0]) == -1) temp += arguments[0]; } );
    array=temp.replace(re_,'').split();

    if(!pram)return array;
    return fArOdr(array, pram);
    function fArOdr(array, pram){
    if(!pram)var pram=1;
    switch(pram){
    case 2: return array.reverse();
    case 3: return array.sort(function(a,b){return a-b;});
    case 4: return array.sort(function(a,b){return b-a;});
    default: return array.sort();
    }
    }
    } // shawl.qiu code
    //]]>
    </script>
    </head>
    <body></body>
    </html>
      

  11.   

    var s="888|888|888|";
        alert(s.replace(/(^|\|)(888[\|$])+/ig,"$1"));