用于替换给定查询字符串中的值的JavaScript正则表达式
我需要用新字符串替换“oid”或字符串“oid=1”的值 e、 使用javascript和正则表达式在给定查询字符串中显示“oid=2” 我们将非常感谢您的帮助 abc.com?数据=ss=AE000039&s=2014/05/07&d=2014/05/31&oid=1&th=y用于替换给定查询字符串中的值的JavaScript正则表达式,javascript,regex,Javascript,Regex,我需要用新字符串替换“oid”或字符串“oid=1”的值 e、 使用javascript和正则表达式在给定查询字符串中显示“oid=2” 我们将非常感谢您的帮助 abc.com?数据=ss=AE000039&s=2014/05/07&d=2014/05/31&oid=1&th=y 您可以尝试以下方法: var uri = "abc.com?data=ss=AE000039&s=2014/05/07&d=2014/05/31&oid=1&th=y"; var uri
您可以尝试以下方法:
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");
或:
我建议您寻找一个库来解析查询字符串,但这在必要时应该可以做到
function updateQueryParameter(queryString, key, value) {
return queryString.replace(new RegExp('(' + key + ')(?:=[^&]*)?'), '$1=' + value);
}
为什么要使用正则表达式?正则表达式将完整的oid=1字符串替换为新的oid=2字符串。使正则表达式像这样oid=(任意值)&。希望这是有意义的。
function updateQueryParameter(queryString, key, value) {
return queryString.replace(new RegExp('(' + key + ')(?:=[^&]*)?'), '$1=' + value);
}