如何在Javascript中替换URL查询字符串的一部分?

时间:2012-11-19 00:37:39

标签: javascript

当我提交表单时,它会将值附加到查询字符串,例如page.html?q=value&z=value等我希望删除附加到查询字符串的值的一部分,例如page.html?q=value+OR+text%3Avalue&z=value。我想要替换的值是+OR+text%3A(value),因此查询字符串看起来像page.html?q=value&z=value。我的代码如下:

var testurl = document.URL;
var re = /[a-zA-Z\/:_\.]+\?q=[^&]+&[a-z]+\=[a-z]+/;
var decodeurl = unescape(testurl);
if(decodeurl.match(re)) {
  testurl = testurl.replace(/\+OR\+text:[a-zA-Z0-9]/,'');
  window.location.href = testurl;

它似乎没有工作,因为它似乎在某种无限循环中发送执行。

1 个答案:

答案 0 :(得分:0)

尝试。

testurl = testurl.replace(\+OR\+.*\&,'\&');