#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 и более пробельных символов $ - конец строки.
Комментариев нет:
Отправить комментарий