现有一个URL:

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

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

 

这里记录一种方案:

var key = ‘title‘;
var value = ‘defg‘;
var currentURL = http://www.561.cn/blog?query_key=name&query_value=abc;
var targetURL = ‘‘;
if ((currentURL.charAt(currentURL.length - 1) == "&") == false) {
‘&‘;
}
var targetURL_tmp = currentURL.replace(/(query_key=).*?(&)/, ‘$1‘ + key + ‘$2‘);
targetURL = targetURL_tmp.replace(/(query_value=).*?(&)/, ‘$1‘ + value + ‘$2‘);

解释: 

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

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