问题:用","号分开的一串字符比如:str1='123,1234,1,3,4,5'
我现在有一串字符,比方说是str2="123",
我要看str2在str1中有没有,有的话,把它去掉,没有的话把它加上
操作后结果是:"1234,1,3,4,5"
如果str2="1";
操作后的结果是:123,1234,3,4,5
如果str2="9"
操作后的结果是:'123,1234,1,3,4,5,9'
thanks
---------------------------------------------------------------
1<script language="javascript">
2function replaceStr(sStr,rStr)
3{
4var patternN = new RegExp(rStr+",","gi");
5var patternL = new RegExp(","+rStr,"gi");
6if(sStr.indexOf(rStr) == -1)
7sStr = sStr + "," + rStr;
8else
9{
10if(sStr.indexOf(rStr) == sStr.length - 1)
11sStr = sStr.replace(patternL,"");
12else
13sStr = sStr.replace(patternN,"");
14}
15return sStr;
16}
17alert(replaceStr('123,1234,1,3,4,5','5'));
18alert(replaceStr('123,1234,1,3,4,5','222'));
19</script>
---------------------------------------------------------------
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'));
---------------------------------------------------------------
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);
}