Javascript替换/,str.replace无效

时间:2014-03-12 18:44:30

标签: javascript string url

我有一个非常愚蠢的问题,其中javascript将每个'/'替换为url中的'%2F'。这就是我现在所拥有的:

var url;
url = $(this).val();
url = str.replace('%2F', '/');
window.location.href = $(this).val();

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

您需要解码网址,将特殊字符转换回原来的状态(例如将%2F更改回/)。为此,您可以使用decodeURI

url = $(this).val();
url = decodeURI(url);

但是,有时候空格会被+替换为%20。因此,要处理这些情况,您必须在解码网址之前将所有+替换为%20

url = $(this).val();
url = url.replace('+', '%20');
url = decodeURI(url);

现在url是网址的解码版本。