var url="http://aaa.bbb.com/a.jsp?myparam=12&xx=33";
现在我想把url变成:
var url="http://aaa.bbb.com/a.jsp?myparam=30&xx=33";
如何写?注意,p,v 是动态的,不能写死。
...全文
33418打赏收藏
简单问题:js中动态字符串替换如何写?
比如: var p="myparam"; //这是个字符串 var v=30; //这是个数字 var url="http://aaa.bbb.com/a.jsp?myparam=12&xx=33"; 现在我想把url变成: var url="http://aaa.bbb.com/a.jsp?myparam=30&xx=33"; 如何写?注意,p,v 是动态的,不能写死。
你的替换正则确实不是很准确, 改一下先.
<SCRIPT LANGUAGE="JavaScript">
<!--
String.prototype.setQuery = function(name, value)
{
var reg = new RegExp("(^|&|\\?)("+ name +"=)([^&]*)(&|$)");
var r = this.substr(this.indexOf("?")+1).match(reg);
if (r!=null) return this.replace(reg, "$1$2"+ value +"$4");
else return this + (this.indexOf("?")>-1 ? "&" : "?")+ name +"="+ value
}
//var url = "http://aaa.bbb.com/a.jsp?xx=22";
//var url = "http://aaa.bbb.com/a.jsp?xx=22&yy=99";
var url = "http://aaa.bbb.com/a.jsp?myparam=30&xx=22&yy=99";
//var url = "http://aaa.bbb.com/a.jsp?xx=22&yy=99&myparam=30";
var p="myparam";
var v=22;
alert(url.setQuery(p, v));
//-->
</SCRIPT>