Javascript正则表达式删除空格

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

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

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

我的正则表达式目前[ ]+是收集所有空间。这工作..但是它不留下我口中的好口味..我也尝试过[\s]+[\W]+但都没有工作..

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

提问于
用户回答回答于

我建议你使用文字符号,并使用\s字符类:

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

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

RegExp当你想构造是有用的建立一个动态的模式,在这种情况下,你不需要它。

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

用户回答回答于

扫码关注云+社区