Задать вопрос

Как правильно сделать проверку строки на отсутствие некоторых символов?

мне нужно было написать на JavaScripte проверку , что строка является корректной( для гос. номера машины), мне всего лишь нужно , чтобы строка не содержала некоторых букв. я написал в лоб
(number.search(/Б/) == -1) &&(number.search(/Г/) == -1)&&
                 (number.search(/Д/) == -1) &&(number.search(/Ё/) == -1)&&

и т д
Но вот я думаю, если учитывать регистр , то мне опять копировать это все, только для строчных букв условия добавлять?
Может кто подскажет как улучшить код?
  • Вопрос задан
  • 4203 просмотра
Подписаться 4 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 4
@vdem
number.search(/[бгдё]+/i) == -1
Ответ написан
Комментировать
lexxpavlov
@lexxpavlov
Программист, преподаватель
Перечисляем все допустимые символы и ищем, есть ли что-то кроме них:
var illegal = /[^авекмнорстух0-9]/i;
illegal.test("а123се64"); // false
illegal.test("а123сг64"); // true
illegal.test("а123се 64"); // true
illegal.test("а123464"); // false
illegal.test("А123ВЕ64"); // false

Здесь true - это неверный номер.
Ответ написан
Комментировать
@Snewer
Думайте в сторону регулярных выражений. раз, два
Что бы не учитывать регистр используйте модификаторы ("ui", как обычно)

А можете для полной картины скинуть больше когда?
Ответ написан
Комментировать
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы