javascript字符串替换特殊字符

javascript字符串替换特殊字符,javascript,html,string,replace,Javascript,Html,String,Replace,我有一个函数,可以在复选框未选中时从html字符串中删除过滤器,或者在复选框未选中时添加过滤器。使用字符串替换函数从要删除的字符串前面删除%20或+符号时遇到问题 此代码适用于: var addFilter = change.value; if (change.checked == true) { //add filter } else { var removeFilter1 = addFilter; var removeFilter2 = addFilter;

我有一个函数,可以在复选框未选中时从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;并移除过滤器2=“+”+添加过滤器;删除url中多余的空格字符,但当我进行更改时,它不会起任何作用。我很确定这与replace函数不使用特殊字符有关,但不确定如何修复。这其实没什么大不了的,因为它仍然可以使用额外的空间,但这让我很烦恼,哈哈。

你试过解码URI并替换空间吗


问候语

%20基本上是空格,它在url中显示为%20,表示空格,因为url不能有空格。。因此,您应该尝试从字符串中删除空格,而不是%20。。。e、 g

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