Javascript 正则表达式删除空格

2022-08-30 05:39:49

所以我正在为JQuery编写一个很小的插件,以从字符串中删除空格。看到这里

(function($) {
    $.stripSpaces = function(str) {
        var reg = new RegExp("[ ]+","g");
        return str.replace(reg,"");
    }
})(jQuery);

我的正则表达式目前是收集所有空格。这有效..然而,它不会在我的嘴里留下好味道。我也试过了,但都没有奏效。[ ]+[\s]+[\W]+

必须有一种更好(更简洁)的方式来仅搜索空间。


答案 1

我建议您使用文字表示法和字符类:\s

//..
return str.replace(/\s/g, '');
//..

使用字符类和 just 之间有区别,这将匹配更多的空格字符,例如等,查找将仅替换 ASCII 32 空格。\s' ''\t\r\n'' '

当您想要构建动态模式时,构造函数很有用,在这种情况下,您不需要它。RegExp

此外,正如你所说,没有与构造函数一起使用,那是因为你传递了一个字符串,你应该“双重转义”反斜杠,否则它们将被解释为字符串内的字符转义(例如:(未知转义))。"[\s]+"RegExp"\s" === "s"


答案 2
"foo is bar".replace(/ /g, '')