Страницы

Поиск по вопросам

пятница, 14 февраля 2020 г.

Необязательный пробел. Как добавить?

#javascript #регулярные_выражения


var pattern = /^[a-z0-9-А-Яа-я]+$/i;


Вот мое регулярное выражение, которое пропускает русские и английские буквы и цифры. 

Собственно вопрос: как добавить в RegExp необязательный пробел в конце и в начале?

input1.oninput = function(value) {
    var newValye = this.value;
    if(pattern.test(newValye)){
        bab_number.style.display= "none"
    }else{
        bab_number.style.display= "block"
    }
};


Что я хочу? 

Я хочу, чтобы при вводе в строку поиска можно было ввести 2-3 слова через пробел.
    


Ответы

Ответ 1



Один необязательный пробел — ? или \s?. Несколько необязательных пробелов — * или \s*. Добавьте в свой щаблон следующим образом: var pattern = /^\s*[a-z0-9-а-яё]+\s*$/i; Чтобы ввести 2-3 слова, нужно использовать var pattern = /^\s*[a-z0-9-а-яё]+(?:\s+[a-z0-9-а-яё]+){1,2}\s*$/i; Я добавил ё в выражение и удалил ненужные А-Я (так как имеется флаг i). Подробности ^ - начало строки \s* - 0 и более пробельных символов [a-z0-9-а-яё]+ - 1 и более букв, цифр и - (?:\s+[a-z0-9-а-яё]+){1,2} - 1 или 2 повтора \s+ - 1 и более пробельных символов [a-z0-9-а-яё]+ - 1 и более букв, цифр и - \s* - 0 и более пробельных символов $ - конец строки.

Комментариев нет:

Отправить комментарий