问题 这个a_id pid 是可变的 是JS传过来的字符串变量.这个应该怎么写? switch(newags) { case "a_id": nn =params[0].replace(/a_id=\d*/, "a_id="+newid); break;
} 这是笨办法 但是这个参数名很多 不一定叫啥....
//当前url index.php?a_id=123&sid=33, 有可能添加参数 比如加 &jd=44545,也有可能把有的参数给换掉....我这样写貌似不对 var newags=params[1].split("=")[0]; var newid=params[1].split("=")[1]; var newurl=SITE_URL + '/index.php?' ; var reg = new RegExp("^[0-9]*$"); if(params[0].indexOf(newags)>0) { alert(params[0]); var pa= '/'+newags+'=\d*/'; var newsurl =params[0].replace(eval(pa), "a_id="+newid); newurl+=newsurl ; return; } else{ newurl+= params.join('&'); } location.assign(newurl);
params[0] 就是后面的 index.php?a_id=123&sid=33
var url = "index.php?a_id=123&pid=333";//location.href; var newags = "a_id"; var val = "4444"; url=url.replace(new RegExp("([?&]"+newags+"=)[^&]*","i"),"$1"+val); alert(url);
{
case "a_id":
nn =params[0].replace(/a_id=\d*/, "a_id="+newid);
break;
}
这是笨办法 但是这个参数名很多 不一定叫啥....
//当前url index.php?a_id=123&sid=33, 有可能添加参数 比如加 &jd=44545,也有可能把有的参数给换掉....我这样写貌似不对
var newags=params[1].split("=")[0];
var newid=params[1].split("=")[1];
var newurl=SITE_URL + '/index.php?' ;
var reg = new RegExp("^[0-9]*$");
if(params[0].indexOf(newags)>0)
{
alert(params[0]);
var pa= '/'+newags+'=\d*/';
var newsurl =params[0].replace(eval(pa), "a_id="+newid);
newurl+=newsurl ;
return;
}
else{
newurl+= params.join('&');
}
location.assign(newurl);
var newags = "a_id";
var val = "4444";
url=url.replace(new RegExp("([?&]"+newags+"=)[^&]*","i"),"$1"+val);
alert(url);