有两个字符串比如str1=1,2,3,4,5,6,7,8  str2=5,6,7
想把str2中所包含的字符从str1中去除掉!剩下的字符串应该是str3=1,2,3,4,8
请教高手

解决方案 »

  1.   

    <script>
    var str1="1,2,3,4,5,6,7,8";
    var str2="5,6,7";
    alert(str1.replace(str2,""));
    </script>
      

  2.   

    1楼的,要是str2="1,3,5"就不行了
      

  3.   

    看看这个,可以任意的<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    </head>
    <script language="javascript" type="text/javascript">
    function d()
    {
    var str1="1,2,3,4,5,6,7,8";
    var str2="2,6,7";
    var a=str2.split(",");
    for (var i=0;i<a.length;i++)
    {
    if(a[i]!="")
    str1=str1.replace(a[i],"");
    str1=str1.replace(",,",",");
    }
    alert("处理结果:"+str1);
    }

    </script>
    <body>
    <input type="button" value="btn01" name="btn01" onClick="javascript:d();">
    </body>
    </html>
      

  4.   

    看这个
    <script>
    var str1="1,2,3,4,5,6,7,8";
    var str2="1,6,7";
    var re=eval("/"+str2.replace(/,/g,"|")+"|,/g");
    str1 = str1.replace(re,"");
    alert(str1.split("").join(","));
    </script>
      

  5.   


    还是不行的,如果数字是两位数以上的 或者 str2就只有一个数字都不行
      

  6.   

    呵呵,LZ早讲清楚嘛
    <script>
    function getNewStr(str1,str2){
    var re=eval("/"+str2.replace(/,/g,"|")+"/g");
    str1 = str1.replace(re,"");
    str1 = str1.replace(/(,)(\1)*/g,",");
    str1 = str1.replace(/(^,|,$)/g,"");
    return str1;
    }
    var str = getNewStr("12,23,3,4,5,6,7,8","12,23,8");//3,4,5,6,7
    alert(str);
    str = getNewStr("12,23,3,4,5,6,7,8","23");//12,3,4,5,6,7,8
    alert(str);
    </script>
      

  7.   

    楼上的貌似对于这组是不行的:
    str = getNewStr("12,23,3,4,5,6,7,8","3");//12,3,4,5,6,7,8所以想把第二个字符串直接变成正则的想法个人觉得的不可取的,需要先把第二个字符串拆分后一个一个的替换function getNewStr(str1,str2){
      var arr = str2.split(",");
      for(var i=0;i<arr.length;i++)
      {
        var reg = eval("(/^"+arr[i]+",|," + arr[i]+",|,"+arr[i]+"$|^"+arr[i]+"$/");
        while(reg.test(str1))
           str1 = str1.replace(reg,",");
      }
      return str1.replace(/^,|,$/g,"");
    }
      

  8.   

    不好意思,忘记加个括号了
        var reg = eval("(/^"+arr[i]+",|," + arr[i]+",|,"+arr[i]+"$|^"+arr[i]+"$/");
    -->
        var reg = eval("(/^"+arr[i]+",|," + arr[i]+",|,"+arr[i]+"$|^"+arr[i]+"$/)");
      

  9.   

    <script type="text/javascript">
    $(document).ready(function(){      
            var strRes=""; 
            var strLTemp="";
        var strRTemp="";
            $("input[type='checkbox'][@name=tasks]").click(function(){
              if(this.checked){
                 if(strRes==""){
                  strRes+=$(this).val(); 
                 }else{
                  strRes+=","+$(this).val(); 
                 }
                 $("#taskSet").val(strRes);
      }else{
          strRTemp=$(this).val()+",";
          strLTemp=","+$(this).val();
          strRes=strRes.replace(strRTemp,""); 
          strRes=strRes.replace(strLTemp,"");
                 $("#taskSet").val(strRes);
          }
             }) 
    })
    </script>