Показать сообщение отдельно
  #10 (permalink)  
Старый 04.06.2020, 05:12
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от varjaginm
На самом деле сам код таможенного органа проверяется по
^[0-9]{2}|[0-9]{5}|[0-9]{8}$
Который можно записать так...
/^\d{2}|\d{5}|\d{8}$/

А затем сгруппировать так, что бы можно было дописывать дополнительные проверки...
/^(?:\d{2}|\d{5}|\d{8})$/


Такое регулярное выражение находит любые двух-, пяти- и восьмизначные целые положительные числа.

Сообщение от varjaginm
Как с помощью регулярных [выражении] исключить появление 10805ХХХ либо 10005030?
Чтобы исключить среди восьмизначных чисел появление определённых чисел, вам у соответствующей группы следует при помощи (?!) указать не нужные числа.

/^(?:\d{2}|\d{5}|(?!10805\d{3}|10005030)\d{8})$/


Сообщение от varjaginm
Нельзя ли проверку корректности совместить с исключениями в одном выражении?
Как видите, можно!
Ответить с цитированием