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

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

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

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

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

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.docx

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

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

Пример:

C:\Windows\System32\calc.exe;

Z:\test.txt.