javascript字符串替换特殊字符

标签 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;摆脱网址中多余的空格字符,但当我进行更改时它没有任何作用。我很确定它与不使用特殊字符的替换功能有关,但不确定如何修复。这没什么大不了的,因为它仍然可以使用包含的额外空间,但它让我很困扰,哈哈。

最佳答案

%20 基本上是空格,它在 url 中显示为 %20 表示空格,因为 url 不能有空格..所以你应该尝试从字符串中删除空格而不是 %20...例如

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

关于javascript字符串替换特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37504086/

相关文章:

python - 尝试从 python 中的字典中拆分作为键的字符串,出现无法解释的错误。为什么?

java - 如何比较字符串和 Hashmap 键?

javascript - 选择和动态设置长 HTML 段落样式的有效方法

javascript - 在更改选择框时搜索提交表单

javascript - 我的多读/少读未显示标题标签

html - Microsoft Edge 新标签窗口调整大小

html - 两个 div 填满可用空间

java - 将数字和符号提取到数组中?

javascript - Webpack + Babel 在 Stack Trace 中错误的行号

javascript - IE11(Windows Phone 8.1)无法感应(显示尺寸)屏幕旋转?