2012-07-21 119 views
-2

我有一串url編碼字符。Javascript用字符串替換url

想知道是否有一個JavaScript函數可以用普通字符串替換所有的url編碼字符。

我知道我可以使用替換功能,但它只是取代某一個字符的不是一次

例如,我在尋找一個函數,將替換該字符串的所有URL編碼的字符:

string urlEncoded = '1%20day%20%40work!%20Where%20are%20you%3F' 

,並給我這個字符串:

string replaced = '1 day @ work! Where are you?' 

非常感謝

+0

感謝,感謝您的幫助 – user1541936 2012-07-21 10:00:57

回答

0

使用decodeURIComponent(串),用於這一目的。

string urlEncoded = '1%20day%20%40work!%20Where%20are%20you%3F'; 
string replaced = decodeURIComponent(urlEncoded); 
alert(replaced); 

此處瞭解詳情:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/decodeURIComponent

+2

請不要鏈接到w3school,請參閱http://w3fools.com爲什麼。你鏈接到*的頁面可能*有正確的信息,但該網站充滿了不正確的和誤導性的信息,並鏈接到該網站給他們的信譽,他們做**不** **值得 – freefaller 2012-07-21 09:37:25

+0

你是對的@freefaller,我檢查了信息所以在發佈前它是正確的,但我主要是懶惰的,我在Google上第一次受到攻擊。更新爲Mozilla開發者網絡上的鏈接,而不是具有相同的信息。 – 2012-07-21 09:40:19

+1

如果你有谷歌帳戶,那麼你應該能夠阻止他們的所有結果,問題解決! (**如果**你有一個谷歌帳戶) – freefaller 2012-07-21 09:42:34

0
string replaced = decodeURIComponent(urlEncoded); 

還有一個decodeURI但這不能應付「特殊」字符,如&? ! #等

-1

您正在尋找unescape

var decoded = unescape(urlEncoded); 
+0

逃生()/ UNESCAPE()不應該被用於URI的,雖然,請參見http:/ /stackoverflow.com/questions/75980/best-practice-escape-or-encodeuri-encodeuricomponent有關這方面的更多信息。 – 2012-07-21 09:22:05

+0

@ Karl-JohanSjögren:現在,他沒有提到任何地方的URL,是嗎? – nico 2012-07-21 09:23:02

+0

他使用的變量被稱爲'urlEncoded'。 – 2012-07-21 09:31:08

0

使用decodeURIComponent(url編碼)