<SCRIPT language="javascript">
function replaceStr(sStr,rStr)
{
    var patternN = new RegExp(rStr+",","gi");
    var patternL = new RegExp(","+rStr,"gi");
    if(sStr.indexOf(rStr) == -1)
        sStr = sStr + "," + rStr;
    else
    {
        if(sStr.indexOf(rStr) == sStr.length - 1)
            sStr = sStr.replace(patternL,"");
        else
            sStr = sStr.replace(patternN,"");
    }
    return sStr;
}
alert(replaceStr('123,1234,1,3,4,5','5'));
alert(replaceStr('123,1234,1,3,4,5','222'));
</SCRIPT>

解决方案 »

  1.   

    var str1='123,1234,1,3,4,5';
    var str2="123";
    var re = new RegExp(str2 +"(,|$)");
    if(str1.match(re)) str1 = str1.replace(re, "");
    else str1 += ","+ str2;
    alert(str1);
      

  2.   

    var str1='123,1234,1,3,4,5';
    var str2="1";
    var re = new RegExp(str2 +"(,|$)", "gi"); //
    if(str1.match(re)) str1 = str1.replace(re, "");
    else str1 += ","+ str2;
    alert(str1);
      

  3.   

    function replaceStr(str1, str2) //作成函数的方式
    {
      var re = new RegExp(str2 +"(,|$)", "gi"); //
      if(str1.match(re)) str1 = str1.replace(re, "");
      else str1 += ","+ str2;  return str1;
    }alert(replaceStr('123,1234,1,3,4,5','5'));
    alert(replaceStr('123,1234,1,3,4,5','222'));
      

  4.   

    function test(s){
    var flag=false;
    var str="123,1234,1,3,4,5";
    str1=str.split(",");
    str2="";
    for(i=0;i<str1.length;i++){
    if(str1[i]!=s) {
    str2=str2+str1[i]+",";
    }
    else
    {
     flag=true;
     }
    }
    if(!flag)
    { str2=str2 + s ; }
    else 
    { str2=str2.substring(0,str2.length-1);}
    alert(str2);
    }