首页 > 代码库 > 使用JS替换URL中的指定参数

使用JS替换URL中的指定参数

 

现有一个URL

http://abcccc.com/blog?query_key=name&query_value=http://www.mamicode.com/abc

想要替换其中的参数:query_key,用JS该怎么做呢?

 

这里记录一种方案:

var key = title;

var value = defg;

var currentURL = http://www.561.cn/blog?query_key=name&query_value=http://www.mamicode.com/abc;

var targetURL = ‘‘;

if ((currentURL.charAt(currentURL.length - 1) == "&") == false) {

  currentURL += &;

}

var targetURL_tmp = currentURL.replace(/(query_key=).*?(&)/, $1‘ + key + $2);

targetURL = targetURL_tmp.replace(/(query_value=http://www.mamicode.com/).*?(&)/, $1‘ + value + $2);

解释: 

replace中使用分组, ‘$1‘ 代表 ‘query_key=$2‘代表 ‘&‘,替换的就是这两者之间的部分

但是url中最后一个参数往往不会含有‘&‘,所以在url结尾添加一个‘&‘。