Маска ввода | Система веб-дизайна США (USWDS)

Компоненты

Маска ввода — это строковое выражение, ограничивающее ввод для поддержки допустимых входных значений.

Маска ввода номера социального страхования

Номер социального страхования

Например, 123 45 6789

Маска ввода телефонного номера США

Номер телефона в США

Например, 123-456-7890

Маска ввода 9-значного почтового индекса США

Почтовый индекс 9(?!(000|666|9))\d{3} (?!00)\d{2} (?!0000)\d{4}$» ария-describedby=»ssnHint» />

Маска ввода телефонного номера США

<форма>
Например, 123-456-7890
<ввод тип = "тел" режим ввода = "числовой" имя = "тел" заполнитель = "___-___-____" шаблон="\d{3}-\d{3}-\d{4}" ария-describedby="telHint" />

Маска для ввода 9-значного почтового индекса США

<форма>
Например, 12345-6789[0-9]{5}(?:-[0-9]{4})?$» aria-describedby=»zipHint» />

Маска буквенно-цифрового ввода

<форма>
Например, A1B 2C3
<ввод режим ввода = "текст" имя = "буквенно-цифровой" заполнитель = "___ ___" шаблон = "\ш\д\ш \д\ш\д" aria-describedby="буквенно-цифровая подсказка" кодировка данных = "А#А #А#" />
  

Маска ввода номера социального обеспечения

<форма>
Например, 123 45 6789(?!(000|666|9))\d{3} (?!00)\d{2} (?!0000)\d{4}$" ария-describedby="ssnHint" />

Маска ввода телефонного номера США

<форма>
Например, 123-456-7890
<ввод тип = "тел" режим ввода = "числовой" имя = "тел" заполнитель = "___-___-____" шаблон="\d{3}-\d{3}-\d{4}" ария-describedby="telHint" />

Маска для ввода 9-значного почтового индекса США

<форма>
Например, 12345-6789[0-9]{5}(?:-[0-9]{4})?$" aria-describedby="zipHint" />

Маска буквенно-цифрового ввода

<форма>
Например, A1B 2C3
<ввод режим ввода = "текст" имя = "буквенно-цифровой" заполнитель = "___ ___" шаблон = "\ш\д\ш \д\ш\д" aria-describedby="буквенно-цифровая подсказка" кодировка данных = "А#А #А#" />

Руководство

Когда использовать компонент маски ввода

  • Общие шаблоны ввода. В полях с определенным ожидаемым форматом, таким как номер социального страхования или почтовый индекс, маска ввода позволяет ограничивать и формировать информацию, вводимую в этом формате, без ущерба для возможности пользователя копировать/вставлять или исправлять опечатки.

Когда подумать о чем-то другом

  • Когда для ввода требуется поле произвольной формы. Если нет общего шаблона ввода, маскирование ввода не подходит.
  • Когда шаблон слишком сложен для допустимой маски ввода. Такой шаблон, как электронная почта, с множеством возможных сценариев ввода, не является хорошим кандидатом для маскировки. Разрешите пользователю ввести свой адрес электронной почты (или другие сложные данные) и получите подтверждение вашей библиотеки проверки перед отправкой формы.

Руководство по использованию

  • Дождитесь подтверждения. Показывать сообщения или стили проверки ошибок только после взаимодействия пользователя с определенным полем.

Доступность

  • Включите этикетку. Убедитесь, что каждый элемент управления формы содержит метку с атрибутом для , связанным с id элемента ввода
    , который он помечает.
  • Используйте полезный текст подсказки. Убедитесь, что любой текст подсказки помогает пользователям понять, что им нужно ввести.
  • Персонализация. При настройке обязательно соблюдайте рекомендации по специальным возможностям для шаблонов форм и рекомендации по специальным возможностям для элементов управления форм.

Использование компонента маски ввода

Примеры в разделе «Предварительный просмотр» выше представляют собой обычные маски ввода, но вы можете адаптировать код в соответствии с потребностями вашего проекта. Чтобы расширить функциональность маски ввода, вы должны включить атрибут -заполнитель

в качестве видимой маски ввода, используя символ подчеркивания _ для представления символа, который должен ввести пользователь. Вы можете использовать литералы пунктуации, такие как [пробел] , - , / или ( , чтобы отформатировать вашу маску, но эти литералы не будут включены в окончательное отправленное значение. Вам также потребуется связанный атрибут шаблона в элементе ввода , его значение выражено в виде регулярного выражения который описывает предполагаемый формат входных данных. Кроме того, если ожидаемый ввод является числовым, обязательно добавьте атрибут
inputmode="numeric"
и настройку, чтобы отображалась цифровая клавиатура. Например, ввод с маской ввода из трех групп по три цифры, разделенных пробелами, может иметь следующие свойства:

 placeholder="___ ___ ___"
шаблон="\д\д\д \д\д\д \д\д\д"
режим ввода = "числовой"
 

Маска ввода и буквенно-цифровые символы

Примеры маски ввода включают буквенно-цифровую версию, которую можно настроить в соответствии с вашими потребностями. Чтобы реализовать буквенно-цифровую маску ввода, вам нужно будет добавить атрибут

data-charset к входному тегу. Похож на 9Атрибут шаблона 0062 включает числовой знак # для каждого числа и A для каждой требуемой буквы. Мы рекомендуем изменить режим ввода на text , чтобы пользователю была доступна вся клавиатура.

Если ваша маска ввода требует шаблона, такого как 1A2 B3C , вы должны реализовать это, добавив следующие атрибуты и форматирование символов к элементу ввода:

 placeholder="___ ___"
шаблон = "\ш\д\ш \д\ш\д"
кодировка данных = "А#А #А#"
 
Настройки маски ввода

Этот компонент не имеет настроек.

Варианты маски ввода

Этот компонент не имеет вариантов.

Упаковка

  • Использование пакета: @forward "usa-input-mask";

Последние обновления

Значимые коды и обновления инструкций перечислены в следующей таблице:

Дата Версия USWDS Воздействует на Взлом Описание
2022-11-14 3.
3.0
  • Руководство
  • JavaScript
  • Разметка
  • Стили
Нет

Компонент выпущен. Больше информации: uswds#4884

Требуется правильная маска ввода для поля времени в Microsoft Access

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

спросил

Изменено 1 год, 3 месяца назад

Просмотрено 676 раз

Мое поле таблицы содержит дату/время и имеет следующий формат:

 мм/дд/гггг чч:нн:сс
 

Я хочу, чтобы пользователь увидел это (с пробелом между датой и временем

 __/__/__ __:__:__
 

Мне нужна маска ввода, которая требует:

  • 1 или 2 цифры месяца
  • 1 или 2 цифры для даты
  • Все 4 цифры года
  • ПОКАЗЫВАЕТ пробел, но просто перепрыгивает через него для пользователя
  • 1 или 2 цифры для часов, минут и секунд

Кроме того, при настройке БД не будет ли разумнее иметь два отдельных поля для даты и времени. Коллега уговорил меня разбить их… кажется разумным?

  • ms-доступ
  • маска ввода

1

00/00/0000##00:00:00

Результат смотрите на картинке

1

Контролируемый пользовательский ввод — непростая задача в Access, поскольку он оптимизирован для противоположного: быть терпимым и принимать множество последовательностей ввода для даты и времени.

Для случаев, когда контролируемый ввод является обязательным, я написал две статьи, включая полный код (слишком много, чтобы публиковать здесь) и демонстрацию, которые могут дать вам некоторые идеи:

Ввод даты в формате ISO с маской ввода и полной проверкой в ​​Microsoft Access

Текущий код в VBA.DateEntry.

и

Ввод 24-часового времени с маской ввода и полной проверкой в ​​Microsoft Access.

Текущий код в VBA.TimeEntry.