所以我正在为JQuery编写一个很小的插件来删除字符串中的空格。see here
(function($) {
$.stripSpaces = function(str) {
var reg = new RegExp("[ ]+","g");
return str.replace(reg,"");
}
})(jQuery);
我的正则表达式目前是[ ]+
来收集所有的空格。这工作..然而它没有留下一个好味道在我的嘴里..我也尝试了[\s]+
和[\W]+
,但都不工作..
必须有一种更好(更简洁)的方法来只搜索空格。
7条答案
按热度按时间a0zr77ik1#
我建议您使用文字表示法和
\s
字符类:使用字符类
\s
和只使用' '
是有区别的,这将匹配更多的空格字符,例如'\t\r\n'
等。查找' '
将只替换ASCII 32空格。RegExp
构造函数在您想要 * 构建 * 一个动态模式时非常有用,在这种情况下您不需要它。此外,正如您所说,
"[\s]+"
不能与RegExp
构造函数一起工作,这是因为您传递的是字符串,并且您应该对反斜杠进行“双转义”,否则它们将被解释为字符串内的字符转义(例如:"\s" === "s"
(未知转义))。5cnsuln72#
mv1qrgav3#
生产和工作中跨越换行符
这在一些应用程序中用于清理用户生成的内容,删除额外的空格/回车等,但保留空格的含义。
x0fgdtte4#
这也同样有效:http://jsfiddle.net/maniator/ge59E/3/
ilmyapht5#
对我有用。
jQuery.trim
对IE有以下攻击,尽管我不确定它会影响哪些版本:ar7v8xwq6#
删除字符串中的所有空格
34gzjxbg7#
这两种方法都应该有效:
或者: