如何在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
解码网址的最佳方法是什么?
答案 0 :(得分:8)
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使用