2012-07-21 126 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编码)