регулярное выражение jquery удалить все двойные пробелы - PullRequest
3 голосов
/ 27 апреля 2010

Привет, у меня есть этот код, я хочу, чтобы он удалил все двойные пробелы из текстовой области, но каждый раз удаляет только первое вхождение

$(document).ready(function(){
  $("#article").blur(function(){
    ///alert($(this).val());
    $(this).val($(this).val().replace(/\s\s+/, ' '));
  });
});

Я также попытался удалитьAll (), но он не будет работать вообще. любая помощь будет отличной, спасибо. У меня есть живой пример онлайн на http://jsbin.com/ogasu/2/edit

Ответы [ 2 ]

8 голосов
/ 27 апреля 2010

Используйте модификатор g в своем регулярном выражении, чтобы сопоставить и заменить глобально:

/\s\s+/g

В противном случае будет заменен только первый матч.

Кстати, начиная с jQuery 1.4 и выше, вы также можете предоставить val функцию , которая выполняет замену:

$(this).val(function(index, value) {
    return value.replace(/\s\s+/g, ' ');
});

Это сэкономит вам второй звонок $(this).val.

3 голосов
/ 27 апреля 2010
.replace(/\s\s+/g, ' '));

примечание г

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...