替换解码JavaScript或JQuery中的URL

时间:2015-11-24 13:52:41

标签: javascript jquery string replace

如何在JavaScript或JQuery中解码网址?

一个例子:我有这个网址:

  

的http://本地主机:8080 /图/ file.html VAR1 =%20B%20C&一个安培; VAR2 = d%20E%20F

如果我使用下面的代码,



var str = "var1=a%20b%20c&var2=d%20e%20f";
document.write(str.replace("%20", " "));




我有这个:

  

http:// localhost:8080 / map / file.html?var1 = a b%20c& var2 = d%20e%20f

解码网址的最佳方法是什么?

2 个答案:

答案 0 :(得分:8)

使用decodeURIComponent

var str = decodeURIComponent("This%20is%20a%20%string");

由于字符串是经过网址编码的,因此%20的最后一次出现后会包含额外的%,这可能是错误



var str = decodeURIComponent("This%20is%20a%20string");
document.write(str);




修改



var url = "http://localhost:8080/map/file.html?var1=a%20b%20c&var2=d%20e%20f";
document.write(decodeURIComponent(url));




答案 1 :(得分:3)

您只是替换第一个元素。将此RegEx与g一起使用以替换所有:

var str = "This%20is%20a%20%string";
console.log(str.replace(/%20/g, " ");

编辑:在您看到编辑后,您希望根据@EasyBB首次建议使用decodeURIComponent()取消URI使用