2012-11-19 75 views
0

當我提交表單時,它將值附加到查詢字符串,例如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。我的代碼如下:如何在Javascript中替換部分URL查詢字符串?

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; 

它似乎沒有奏效,因爲它似乎發送執行在某種無限循環的。

+0

如果你想重定向頁面,請嘗試'window.location.assign(testurl)' –

回答

0

試試。

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

謝謝。我試過了,它似乎仍然會導致無限循環 – PeanutsMonkey

+0

如果你把一個返回值設爲false,那該怎麼辦?在window.location.href = testurl;之後 – KingKongFrog

+0

這是做什麼用的? – PeanutsMonkey