Low-code дизайнер > Создание интерфейсов / Создание масок строковых полей с помощью регулярных выражений

Создание масок строковых полей с помощью регулярных выражений

Регулярные выражения  это шаблоны, используемые для сопоставления последовательностей символов в строках. Шаблон состоит из односимвольных или многосимвольных литералов, операторов или конструкций. 

Используя регулярные выражения для полей типа Строка можно настроить маску. С помощью нее будет проверяться корректность информации, введённой пользователем. Обратите внимание, в маске доступны только выражения без флагов.

Можно также указать текст сообщения, которое будет отображаться при вводе данных в формате, не удовлетворяющем требованиям регулярного выражения. 

regular-expr1

Подробнее о синтаксисе регулярных выражений можно прочитать в документации MDN Web Docs.

 

В каждом примере, приведенном ниже, содержится:

‘^’ начало строки,

‘$’ конец строки,

‘?’ в ‘()?’ означает, что все, что находится в (), может повторяться 0 или 1 раз. Если не добавить это условие, то в случае, если поле не обязательно и не заполнено, будет возникать сообщение об ошибке.

Примеры регулярных выражений

Проверка серии паспорта

^([0-9]{2}\s{1}[0-9]{2})?$

Разберем выражение:

  1. [0-9]{2} позволяет ввести две любые цифры.
  2. \s{1} позволяет ввести один пробел.
  3. [0-9]{2} позволяет ввести две любые цифры.

Пример: 12 34

Проверка номера паспорта

^([0-9]{6})?$

Разберем выражение:

  1. [0-9]{6} — позволяет ввести 6 любых цифр.

Пример: 123456

Проверка кода подразделения

^([0-9]{3}[-]{1}[0-9]{3})?$

Разберем выражение:

  1. [0-9]{3} — позволяет ввести 3 любые цифры.
  2. [-]{1} — позволяет ввести один символ ‘-’.
  3. [0-9]{3} — позволяет ввести 3 любые цифры.

Пример: 123-456

Проверка ИНН

^(([0-9]{12})|([0-9]{10}))?$

Разберем выражение:

  1. [0-9]{12} — позволяет ввести 12 любых цифр.
  2. [0-9]{10} — позволяет ввести 10 любых цифр.
  3. (a|b) — позволяет ввести либо левую часть выражения, либо правую.

Пример:

  • 123456789012
  • 1234567890

Проверка ОГРН

^([0-9]{13})?$ — позволяет ввести 13 любых цифр.

Проверка КПП

^([0-9]{9})?$ — позволяет ввести 9 любых цифр.

Проверка номера частного транспортного средства

^([АВЕКМНОРСТУХ]{1}[0-9]{3}[АВЕКМНОРСТУХ]{2}[0-9]{2,3})?$

Пример:

  • А012ВУ18
  • А012ВЕ159

Проверка корректности названия файла

^([^\\/:*?"<>|]+[.]{1}[^\\/:*?"<>|]+)?$

Разберём выражение:

  1. [^\\/:*?"<>|] — позволяет ввести любые символы, кроме тех, которые написаны после «^». То есть, символы, входящие в диапазон, указывают на отрицание.
  2. [a]+ — позволяет ввести символы в скобках один или несколько раз. Вы можете задать любую комбинацию символов, кроме указанных в скобках.
  3. [.]{1} — позволяет ввести одну точку.

Пример: Документ1.docx

Проверка корректности пути до файла

^(([A-Z]:\\){1}[^\/:*?"<>|]+)?$

Разберём выражение:

  1. ([A-Z]:\\){1} — позволяет ввести одну заглавную латинскую букву и последовательность символов «:\» (первый символ «\» сообщает системе, что следующая обратная косая черта не является специальным символом).
  2. + — позволяет ввести символы в скобках один или несколько раз. Поскольку в начале выражения указан символ «^», вы можете задать любую комбинацию символов, кроме указанных в скобках.

Пример:

  • C:\Windows\System32\calc.exe;
  • Z:\test.txt.