javascript字符串替换特殊字符

时间:2016-05-28 21:59:27

标签: javascript html string replace

我有一个函数,如果取消选中复选框,则从html字符串中删除过滤器;如果选中,则添加它。我在使用字符串替换功能从我想要删除的字符串前面删除%20或+符号时遇到问题。

此代码有效:

var addFilter = change.value;

if (change.checked == true) { //add filter }
else {
    var removeFilter1 = addFilter;
    var removeFilter2 = addFilter;

        if(currFilter != '') {
            var url = currFilter.replace(removeFilter1, "");
            var url = url.replace(removeFilter2, "");
            window.open(url, "_self");
        }

}

...基本上我尝试设置removeFilter1 =“%20”+ addFilter;和removeFilter2 =“+”+ addFilter;摆脱网址中的额外空格字符,但是当我做出改变时它没有做任何事情。我很确定它与替换功能有关,不能使用特殊字符,但不知道如何修复。这不是一个很大的交易,因为它仍然适用于包括额外的空间,但它困扰我哈哈。

2 个答案:

答案 0 :(得分:1)

%20基本上是空格,它在url中显示为%20表示空格,因为网址没有空格..所以你应该尝试从字符串中删除不是%20的空格...例如< / p>

var url = currFilter.replace(" ", "");

答案 1 :(得分:0)

您是否尝试过decodeURI并替换空格?

迎接