So i’m writing a tiny little plugin for JQuery to remove spaces from a string. see here
(function($) {
$.stripSpaces = function(str) {
var reg = new RegExp("[ ]+","g");
return str.replace(reg,"");
}
})(jQuery);
my regular expression is currently [ ]+ to collect all spaces.
This works.. however It doesn’t leave a good taste in my mouth..
I also tried [\s]+ and [\W]+ but neither worked..
There has to be a better (more concise) way of searching for only spaces.
I would recommend you use the literal notation, and the
\scharacter class:There’s a difference between using the character class
\sand just' ', this will match a lot more white-space characters, for example'\t\r\n'etc.., looking for' 'will replace only the ASCII 32 blank space.The
RegExpconstructor is useful when you want to build a dynamic pattern, in this case you don’t need it.Moreover, as you said,
"[\s]+"didn’t work with theRegExpconstructor, that’s because you are passing a string, and you should “double escape” the back-slashes, otherwise they will be interpreted as character escapes inside the string (e.g.:"\s" === "s"(unknown escape)).