Документация iSZN

Маска ввода

Маска ввода — это строка, определяющая шаблон, которому должна удовлетворять строка, введённая пользователем.

Маска задаётся в виде строки, состоящей из трёх частей, разделённых точкой с запятой («;»):

  • первая часть — непосредственно маска;
  • вторая часть — символ, который определяет, нужно ли сохранять литеральные символы маски (то есть символы, которые не являются служебными при определении маски) как часть данных (0 — литеральные символы не должны быть сохранены как часть введённой строки; любой другой символ — литеральные символы должны быть сохранены);
  • третья часть маски — символ, который отображается вместо невведённых символов.

В первой части маски используются следующие служебные символы:

Символ Описание
! Если символ «!» присутствует в маске, то невведённые символы представлены в строке как начальные пробелы. Если символ «!» не указан в маске, то невведённые символы представлены в строке как конечные пробелы.
> Все символы, идущие после него до символа «<» или конца маски, переводятся в верхний регистр.
< Все символы, идущие после него до символа «>» или конца маски, переводятся в нижний регистр.
<> Преобразование регистра не используется.
\ Служебный символ, следующий за этим символом, трактуется как литеральный.
L Требует алфавитный символ в этой позиции (A-Z, a-z, А-Я, а-я).
l Разрешает только алфавитный символ в этой позиции, но не требует его.
A Требует алфавитно-цифровой символ в этой позиции (A-Z, a-z, А-Я, а-я, 0-9).
a Разрешает только алфавитно-цифровой символ в этой позиции, но не требует его.
C Требует произвольный символ в этой позиции.
c Разрешает произвольный символ в этой позиции, но не требует его.
0 Требует числовой символ в этой позиции.
9 Разрешает числовой символ в этой позиции, но не требует его.
# Разрешает числовой символ или знаки «+» или «-» в этой позиции, но не требуют их.
: Используется для разделения часов, минут и секунд при вводе времени. Если в настройках операционной системы (Панель управления/Дата, время, язык и региональные стандарты) используется другой разделитель компонентов времени, то он используется вместо этого символа.
/ Используется для разделения месяцев, дней и годов при вводе дат. Если в настройках операционной системы (Панель управления/Дата, время, язык и региональные стандарты) используется другой разделитель компонентов даты, то он используется вместо этого символа.
_ Символ автоматически вставляет пробел в строку.

Примеры:

Маска Описание
(0000) 000-000;0;* Маска требует ввода номера телефона, который будет сохранён, например, в виде 3452242361.
(0000) 000-000;1;* Маска требует ввода номера телефона, который будет сохранён, например, в виде (3452) 242-361.
>LLLLL;0;_ Маска требует ввода пяти алфавитных символов, которые будут автоматически переведены в верхний регистр.
>l<llll;0;_ Маска требует ввода не более пяти алфавитных символов, из которых первый автоматически будет переведён в верхний регистр.
Pri\ce 999;1;_ Символ «\» используется для того, чтобы символ «c» не трактовался как служебный.

См. также