我需要使用jQuery更改给定URL中存在的查询参数的值。
有2种可能的URL,
www.domain.com/?id=10&name=xxx
和
www.domain.com/?name=xxx&id=10
我需要将此URL中的参数 id 的值更改为www.domain.com/?id=15&name=xxx
之类的内容。正则表达式似乎是解决此问题的方法,但对我来说却令人困惑。
可能的解决方案:
在“ id =” 和“&” (或)字符串之间选择字符串,从“ id =” 到字符串末尾并将其替换为所需的值15。
有人对此有解决方案或其他更好的解决方案吗?
谢谢!
答案 0 :(得分:1)
var url="www.domain.com/?id=10&name=xxx";
changeUrl("id",15);
changeUrl("name","sumesh");
function changeUrl(key,value){
var patt = new RegExp(key+"=[a-zA-Z0-9]+");
var matches = patt.exec(url);
var id2 = matches[0];
url = url.replace(id2, key+'='+value);
console.log(url);
}
使用RegExp
实现这一目标。
答案 1 :(得分:0)
为什么不使用简单替换?
var newUrl = location.href.replace("id="+10, "id="+15);
我从an answer找到了这个问题的解决方案 Change url query string value using jQuery(标记为重复)。