JavaScript Regex替换给定查询字符串中的值

时间:2014-05-08 06:30:20

标签: javascript regex

我需要用新字符串

替换“oid”或字符串“oid = 1”的值

e.g。使用javascript和regex在给定的查询字符串中使用“oid = 2”。

帮助将受到高度赞赏。

  

abc.com?data=ss=AE000039&s=2014/05/07&d=2014/05/31&oid=1&th=y

2 个答案:

答案 0 :(得分:3)

我建议寻找一个用于解析查询字符串的库,但这应该在紧要关头。

function updateQueryParameter(queryString, key, value) {
    return queryString.replace(new RegExp('(' + key + ')(?:=[^&]*)?'), '$1=' + value);
}

答案 1 :(得分:1)

您可以尝试以下方式:

var uri = "abc.com?data=ss=AE000039&s=2014/05/07&d=2014/05/31&oid=1&th=y";
var uri2 = uri.replace(/oid=[0-9]*/g, "oid=2");

或者:

var uri = "abc.com?data=ss=AE000039&s=2014/05/07&d=2014/05/31&oid=1&th=y";
var uri2 = uri.replace(/(oid=)[0-9]*/g, "$12");