2012-01-03 88 views
4

如何在javascript中爲?=製作正則表達式?javascript替換問號

我想從

http://localhost/search?search=words

東西

http://localhost/search/search/words

到(/搜索/)

<script> 
var ss = "http://localhost/search?search=words".replace("/\?search\=/g", "/search/"); 
document.write(ss); 
</script> 

BTW(搜索=?):只是一些prastic ,而不是一個重寫。謝謝。

+0

從鍵值對更改爲單個值目錄沒有任何意義,並且可以真正消除您已獲得的任何編碼。是的,你說過練習,但你究竟想在這裏完成什麼? – Incognito 2012-01-03 20:27:34

回答

16

幾乎在那裏! =不是特殊字符,不需要轉義。此外,正則表達式字符串不包含引號。所以:

"http://localhost/search?search=words".replace(/\?search=/g, "/search/"); 
+0

加快120秒! =)(當然,絕對正確!) – 2012-01-03 20:29:49

4

您可以使用簡單的字符串替換:

var ss = "http://localhost/search?search=words".replace("?search=", "/search/"); 
3

如何

str.replace(/[?=]/g, "/"); 

請注意,它可能會更好作出功能瞭解網址結構並重建它,這將產生更健康,更健壯的代碼,而不是簡單的替換。

+0

雙斜槓不會*斜槓斜線。 – PointedEars 2012-01-03 20:33:19

+0

我的不好,與一個反斜槓混淆。糾正。 – 2012-01-03 20:33:46

+0

它會工作一次,但是,它會在OP的要求上失敗。固定。另外,我實際上寫了FM的一部分,所以請回答我應該久睡的問題並不意味着我缺乏知識。 http://i.qkme.me/35bp94.jpg <<這是我順便做的臉:) – 2012-01-03 20:44:24