2011-01-22 40 views
1

我需要修改查詢字符串,正則表達式爲.aspx?修改查詢字符串

來自:http://server/test/default.aspx
到:​​

來自:http://server/test/default.aspx?toolPlay=1233136844420765
到:http://server/test/default.aspx?videoplay=20&toolPlay=1233136844420765

即。通過jQuery在查詢字符串

之間添加videoplay=20&。我試過.replace函數,但有問題 - 我無法找到正確的正則表達式。任何人都可以提供更好的方法或爲「.aspx?」提供正則表達式

+0

任何你不僅僅是將`&videoplay = 20`添加到URL的末尾的原因? – 2011-01-22 14:00:49

+0

只需將其附加到網址即可。順序並不重要,所以只需將其添加到最後。那有什麼問題? – ircmaxell 2011-01-22 14:01:06

回答

1

你需要逃避既.?,因爲它們是特殊的正則表達式字符:

\.aspx\? 

但是,你可以簡單地追加&videoplay=20到URL的末尾。效果將是相同的,除非服務器端代碼正在查看查詢字符串變量的索引(這是非常糟糕的做法)。

+0

謝謝Oded這個作品...以及我不追加**&videoplay = 20 **而是我用**。aspx?videoplay = 20&** – 2011-02-15 16:14:58

2

嗯,我會做的是:

if (url.indexOf('?') != -1) { 
    url += "&videoplay=20"; 
} else { 
    url += "?videoplay=20"; 
} 

它不使用正則表達式,它處理其中的URL不包含查詢字符串已經是這樣了。