var s="2345234|888|3454|6765|"; alert(s.replace("888|",""));这么规则的格式,没有必要用正则吧
也有问题的 var s="2345234|888|3454|6765|"; var s="23452343454|6765|";
- -# 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>
大家喜欢把问题复杂化? replace("|888|","|");
var s="2345234|3454|888|"; alert(s.replace(/(^|\|)888(\||$)/,"$1"));
<!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|";
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); 呵,我回来了。
to 各位楼上。。 888|888|888|888 /(\||^)888(\||$)/g; 这种式子不会通过这个的。。 ^o^
while(s.indexOf("|888|")){ s = s.replace("|888|","|"); }不要搞那么复杂只要你保证 s 是 xxx|yyy|这样的格式就可以了,如果不是就先把s处理一下让它是这个格式
哈哈, 想较劲么...你再弄复杂复杂的来, 俺照样切了....<!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("|");
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')+'$');
alert(s.replace("888|",""));这么规则的格式,没有必要用正则吧
var s="2345234|888|3454|6765|";
var s="23452343454|6765|";
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>
replace("|888|","|");
alert(s.replace(/(^|\|)888(\||$)/,"$1"));
<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>
var j = s.replace(/((\||^)888)+(\||$)/g, function (a, b, c, d) {
if (c + d == "||") return c;
else return "";
});
alert(j);
呵,我回来了。
888|888|888|888
/(\||^)888(\||$)/g;
这种式子不会通过这个的。。
^o^
}不要搞那么复杂只要你保证 s 是 xxx|yyy|这样的格式就可以了,如果不是就先把s处理一下让它是这个格式
<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>
alert(s.replace(/(^|\|)(888[\|$])+/ig,"$1"));