使用jQuery更改查询参数的值

时间:2018-12-13 06:41:47

标签: javascript jquery string query-parameters

我需要使用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。

有人对此有解决方案或其他更好的解决方案吗?

谢谢!

2 个答案:

答案 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(标记为重复)。