Регулярное Выражение Javascript Удаление Пробелов
поэтому я пишу крошечный плагин для JQuery, чтобы удалить пробелы из строки. посмотреть здесь
(function($) {
$.stripSpaces = function(str) {
var reg = new RegExp("[ ]+","g");
return str.replace(reg,"");
}
})(jQuery);
мое регулярное выражение в настоящее время [ ]+ для сбора всех пробелов.
Эта работа.. однако это не оставляет хороший вкус во рту..
Я тоже пробовал [s]+ и [W]+ но ни один не работал..
должен быть лучший (более краткий) способ поиска только пробелов.
4 ответов:
Я бы рекомендовал вам использовать буквенную нотацию и использовать
\sкласс персонажа://.. return str.replace(/\s/g, ''); //..есть разница между использованием класса символов
\sи просто' ', это будет соответствовать много больше пробелов символов, например'\t\r\n'etc.. ищу' 'будет заменить только символы ASCII 32 пустое пространство.The
RegExpконструктор полезен, когда вы хотите построить динамический шаблон, в этом случае вы не понадобиться.кроме того, как вы сказали,
"[\s]+"не работал сRegExpконструктор, это потому, что вы передаете строку, и вы должны "дважды экранировать" обратные косые черты, иначе они будут интерпретироваться как символьные экранирования внутри строки (например:"\s" === "s"(неизвестный побег)).
str.replace(/\s/g,'')работает для меня.
jQuery.trimимеет следующий хак для IE, хотя я не уверен, какие версии это влияет:// Check if a string has a non-whitespace character in it rnotwhite = /\S/ // IE doesn't match non-breaking spaces with \s if ( rnotwhite.test( "\xA0" ) ) { trimLeft = /^[\s\xA0]+/; trimRight = /[\s\xA0]+$/; }
это работает так же хорошо: http://jsfiddle.net/maniator/ge59E/3/
var reg = new RegExp(" ","g"); //<< just look for a space.
Comments