<script> var str1="1,2,3,4,5,6,7,8"; var str2="5,6,7"; alert(str1.replace(str2,"")); </script>
1楼的,要是str2="1,3,5"就不行了
看看这个,可以任意的<!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>
看这个 <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>
还是不行的,如果数字是两位数以上的 或者 str2就只有一个数字都不行
呵呵,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>
var str1="1,2,3,4,5,6,7,8";
var str2="5,6,7";
alert(str1.replace(str2,""));
</script>
"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>
<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>
还是不行的,如果数字是两位数以上的 或者 str2就只有一个数字都不行
<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>
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,"");
}
var reg = eval("(/^"+arr[i]+",|," + arr[i]+",|,"+arr[i]+"$|^"+arr[i]+"$/");
-->
var reg = eval("(/^"+arr[i]+",|," + arr[i]+",|,"+arr[i]+"$|^"+arr[i]+"$/)");
$(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>