Маска ввода что это

Определение маски ввода

Если свойство Формат (Format) управляет тем, как данные отображаются в поле таблицы, то свойство Маска ввода (Input Mask) позволяет контролировать ввод данных в таблицу. И не только контролировать, но и упрощать процесс ввода. Маску используют в том случае, когда вводимые данные должны содержать определенные символы в некоторых позициях вводимой строки. Самым простым и ярким примером таких данных являются номера телефонов. Маска ввода должна обеспечить возможность вводить только цифры номера, а остальные символы (скобки вокруг кода города, дефис между цифрами номера) будут добавляться автоматически. Маска задается с помощью символов, приведенных в табл. 2.12.

Символ маскиОписание
0В данную позицию должна быть введена цифра. Знаки плюс (+) и минус (-) не допускаются
9В данную позицию должна быть введена цифра или пробел. Знаки плюс (+) и минус (-) не допускаются
#В данную позицию должна быть введена цифра, пробел, знаки плюс (+) или минус (-)
LВ данную позицию должна быть введена буква
?В данную позицию может быть введена буква или пробел
AВ данную позицию должна быть введена буква или цифра
aВ данную позицию должна быть введена буква, цифра или пробел
&В данную позицию должен быть введен произвольный символ или пробел
CВ данную позицию может быть введен произвольный символ или пробел. Если пользователь ничего не введет, Access не занесет в эту позицию никаких данных
. (точка)Десятичный разделитель (зависит от региональных установок в окне Язык и стандарты Панели управления Windows)
, (запятая)Разделитель групп разрядов (зависит от региональных установок в окне Язык и стандарты Панели управления Windows)
-, /Разделители в значениях даты и времени (зависят от региональных установок в окне Язык и стандарты Панели управления Windows)
Преобразует все символы справа к верхнему регистру
!Указывает, что маску нужно заполнять справа налево. Этот символ следует использовать в том случае, когда символы в левой части маски являются необязательными. Его можно помещать в любой позиции маски
\Указывает, что следующий символ необходимо рассматривать в качестве постоянного символа, даже если он является специальным символом маски. Например, \А будет выводить в маске букву А
«литерал»Вместо того чтобы многократно использовать символ обратного слэша (\), можно просто заключить любой литерал в двойные кавычки

Таблица 2.12. Символы для создания масок ввода

Для того чтобы сформировать маску ввода, можно использовать Мастера масок ввода (Input Mask Wizard). Откройте в режиме Конструктора таблицу «Заказы» (Orders). Выделите поле «Дата размещения». Чтобы ввести маску ввода для этого поля, щелкните мышью по ячейке свойства Маска ввода (Input Mask). Нажмите небольшую кнопку с тремя точками (рис. 2.21), которая появится справа (эта кнопка называется кнопкой Построителя и будет встречаться еще во многих местах), и дальше следуйте указаниям мастера:

Сформированная символьная строка маски отображается в поле Маска ввода (Input Mask) для поля «ДатаРазмещения» (OrderDate) (рис. 2.22). Маска ввода состоит из трех частей:

Источник

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

Введение

Обзор существующих решений

Предлагаемое решение

В результате было решено доработать привычную маску ввода так, чтобы она менялась в соответствии с текущим значением номера. Кроме того, по мере ввода номера предлагается отображать название определившейся страны. Данный подход, субъективно, должен решить все недостатки перечисленных выше решений.

С учётом того, что количество стран в мире относительно невелико, было принято решение составить список масок ввода для всех стран. В качестве источника использовались сведения, опубликованные на сайте международного союза электросвязи.

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

Программная реализация

В качестве ядра маски ввода была использована реализация jquery.inputmask, о которой многократно упоминалось на Хабрахабр. Данный плагин сейчас активно развивается и, к тому же, спроектирован таким образом, что для него достаточно просто писать расширения. Однако в данной задаче написать такое расширение оказалось практически невозможно. Я не стал дорабатывать или переписывать исходный плагин под свои нужды, т.к. его автор продолжает активную работу над расширением функционала, в результате чего применение моих правок может оказаться проблематичным. Поэтому мне пришлось написать плагин-надстройку над основным ядром, который отслеживает (плюс перехватывает) внешние воздействия и производит модификацию данных. Для того, чтобы внедрить свои обработчики внешних воздействий до обработчиков основного плагина использовался плагина-библиотека jquery.bind-first.

Сортировка разрешённых масок ввода
Поиск подходящей маски ввода

При сравнении входного текста с очередной маской из отсортированного списка принимаются во внимание только значимые символы каждой маски. Если строка оказывается длиннее маски ввода, несмотря на то что все предшествующие символы прошли проверку, данная маска ввода считается неподходящей. В случае, если входному тексту удовлетворяет несколько масок ввода, то возвращается первая из них. Далее в найденной маске все значимые символы (в том числе нешаблонные) заменяются на шаблонный, который является комбинацией всех символов, разрешённых любым из шаблонных символов.

Обработка и перехват событий

Все события навешиваются в пространстве inputmask. Это позволяет избежать некорректного поведения при вызове inputmask после инициализации надстройки (т.к. ядро при инициализации снимает все ранее установленные обработчики в пространстве inputmask).

Пример использования

Формат списка масок

Список масок представляет собой JavaScript-массив объектов, предпочтительно с одинаковым набором свойств. Как минимум одно свойство, которое содержит маску ввода, должно присутствовать у всех объектов массива. Имя параметра, содержащего маску, может быть произвольным. Ниже представлен фрагмент такого массива:

Параметры подключения плагина

До подключения требуется загрузить и отсортировать список масок. Это делается выполнением следующей функции:

Для инициализации плагина нужно применить метод inputmasks к полю ввода:

Источник

Управление форматами ввода данных с помощью масок ввода

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

Маска влияет только на ввод значений в Access: она не меняет способ их хранения, который записи от типа данных поля и других свойств. Дополнительные сведения о хранении данных в Access см. в статье Введение в типы данных и свойства полей.

Важно: Эта статья относится только к классическим базам данных Access. Веб-приложения и веб-базы данных Access не поддерживают маски ввода.

В этой статье

Общие сведения о масках ввода

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

Маску ввода рекомендуется использовать, когда вводимые значения должны иметь единый формат, например для полей с номерами телефонов из десяти цифр. Если пользователь введет номер, не указав код города, данные не будут приняты в Access, пока пользователь не добавит код города.

Три компонента маски ввода

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

Первый компонент является обязательным. Он представляет собой знак или строку (последовательность знаков) маски с заполнителями и литералами, например круглыми скобками, точками и дефисами.

Второй компонент не является обязательным и определяет способ хранения встроенных знаков маски в поле. Если для этого компонента задано значение 0, знаки сохраняются вместе с данными, а если 1, то знаки отображаются без сохранения. Выбрав значение 1, можно сэкономить место для хранения базы данных.

Третий компонент маски ввода также не является обязательным и определяет знак, используемый в качестве заполнителя. По умолчанию в Access используется знак подчеркивания (_). Чтобы задать другой знак, введите его в третьем компоненте маски.

Пример маски ввода для телефонных номеров в формате России: (999) 000-00-00 ;0 ;-:

В маске используются два заполнителя — 9 и 0. Заполнитель 9 обозначает необязательные цифры (код города можно не вводить), а 0 — обязательные.

Значение 0 во втором компоненте маски ввода указывает на то, что знаки маски следует хранить вместе с данными.

Знаки, определяющие маски ввода

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

Пользователь должен ввести цифру (от 0 до 9).

Пользователь может ввести цифру (от 0 до 9).

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

Пользователь должен ввести букву.

Пользователь может ввести букву.

Пользователь должен ввести букву или цифру.

Пользователь может ввести букву или цифру.

Пользователь должен ввести какой-либо знак или пробел.

Пользователь может ввести знаки или пробелы.

Разделитель целой и дробной части, групп разрядов, значений дат и времени. Выбираемый знак зависит от региональных параметров Windows.

Все последующие знаки будут переведены в верхний регистр.

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

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

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

Планируется использовать элемент управления «Выбор даты» с полем даты и времени. Маски ввода несовместимы с таким элементом управления.

Добавление маски ввода в поле таблицы с помощью мастера масок ввода

Маски ввода можно использовать для полей с типом данных «Текстовый», «Числовой» (кроме кода репликации), «Денежный» и «Дата/время».

Примечание: Если применить маску ввода к полю с типом данных «Дата/время», для этого поля невозможно будет использовать элемент управления Выбор даты.

В области навигации щелкните таблицу правой кнопкой мыши и выберите в контекстном меню команду Конструктор.

Выберите поле, к которому необходимо применить маску ввода.

В разделе Свойства поля на вкладке Общие щелкните поле свойства Маска ввода.

Чтобы запустить мастер масок ввода, нажмите кнопку Построить Маска ввода что это. Смотреть фото Маска ввода что это. Смотреть картинку Маска ввода что это. Картинка про Маска ввода что это. Фото Маска ввода что это.

Выберите нужный тип маски ввода из списка.

Маска ввода что это. Смотреть фото Маска ввода что это. Смотреть картинку Маска ввода что это. Картинка про Маска ввода что это. Фото Маска ввода что это

Щелкните поле Проба и введите данные, чтобы проверить работу маски.

Чтобы оставить маску ввода без изменений, нажмите кнопку Далее.

Выберите способ хранения данных.

Чтобы сохранить изменения, нажмите кнопку Готово.

Добавление маски ввода в запрос

В области переходов щелкните правой кнопкой мыши запрос, который требуется изменить, и выберите в контекстном меню команду Конструктор.

В бланке запроса установите курсор в столбец поля, которое требуется изменить.

Курсор можно поместить в любую строку для этого поля.

Нажмите клавишу F4, чтобы открыть окно свойств поля.

В разделе Свойства поля на вкладке Общие щелкните поле свойства Маска ввода.

Чтобы запустить мастер масок ввода, нажмите кнопку Построить Маска ввода что это. Смотреть фото Маска ввода что это. Смотреть картинку Маска ввода что это. Картинка про Маска ввода что это. Фото Маска ввода что это. Следуйте инструкциям мастера.

Добавление маски ввода в элемент управления формы или отчета

В области переходов щелкните правой кнопкой мыши форму или отчет, которые требуется изменить, и выберите в контекстном меню команду Конструктор.

Щелкните правой кнопкой мыши элемент управления, который требуется изменить, а затем выберите в контекстном меню команду Свойства.

На вкладке Все щелкните поле свойства Маска ввода.

Чтобы запустить мастер масок ввода, нажмите кнопку Построить Маска ввода что это. Смотреть фото Маска ввода что это. Смотреть картинку Маска ввода что это. Картинка про Маска ввода что это. Фото Маска ввода что это. Следуйте инструкциям мастера.

Создание настраиваемых масок ввода

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

Настройка масок ввода в мастере

Откройте объект в конструкторе и щелкните поле, к которому нужно добавить настраиваемую маску ввода.

Чтобы запустить мастер масок ввода, нажмите кнопку Построить Маска ввода что это. Смотреть фото Маска ввода что это. Смотреть картинку Маска ввода что это. Картинка про Маска ввода что это. Фото Маска ввода что это.

Нажмите кнопку Изменить список.

Откроется диалоговое окно Настройка масок ввода.

Перейдите к новой записи в этом окне и введите новое описание в поле Описание.

В поле Маска ввода введите символы и заполнители с помощью разрешенных знаков из списка таблицы.

Щелкните стрелку списка Тип маски: и выберите подходящий тип маски.

Нажмите кнопку Закрыть. В списке появится новая маска ввода.

Настройка масок ввода в свойстве поля

В области навигации щелкните объект правой кнопкой мыши и выберите в контекстном меню команду Конструктор.

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

В области «Свойства поля» щелкните поле Маска ввода и введите собственную маску.

Чтобы сохранить изменения, нажмите сочетание клавиш CTRL+S.

Для полей числового и денежного типов определение маски ввода задается вручную.

Примеры масок ввода

В таблице ниже приведены примеры использования масок ввода.

Обеспечивает ввод значения в виде

В данном случае пользователи должны вводить код города, так как в соответствующем разделе маски (000 в скобках) используется заполнитель 0.

(206) 555-0199
( ) 555-0199

В этом случае в области междугородного кода используется местозаполнитель 9, поэтому междугородные коды необязательны. Кроме того, восклицательный знак (!) обусловливает заполнение маски слева направо.

Предоставляется возможность заменить буквами четыре последних цифры телефонного номера в формате США. Обратите внимание на местозаполнитель 0 в области кода города, который делает междугородный код обязательным.

Любое положительное или отрицательное число, включающее не более четырех знаков и не имеющее разделителей тысяч и дробной части.

ЗЕЛЕНЫЙ339М3
МАЙ Р 452Б7

Сочетание обязательных (L) и необязательных (?) букв и обязательных цифр (0). Знак «больше» требует вводить все буквы в верхнем регистре. Чтобы использовать маску ввода этого типа, необходимо задать для типа данных поля таблицы значение Текстовый или Поле МЕМО.

Обязательный почтовый индекс и необязательная область четырехзначного расширения.

Сочетание обязательных букв и цифр, все в верхнем регистре. Данный тип маски ввода помогает, например, правильно вводить инвентарные номера или заполнять другие формы складского учета.

Использование масок ввода для адресов электронной почты

Поскольку адреса электронной почты могут быть самой разной длины, маски ввода не подходят для их проверки при вводе. Вместо масок ввода рекомендуется использовать свойства Правило проверки и Сообщение об ошибке.

Условие на значение, приведенное в таблице ниже, гарантирует, что адрес электронной почты будет состоять из одного или нескольких знаков, знака «@», еще одного или нескольких знаков, точки и еще одного или нескольких знаков. Например, адрес proverka@example.com будет правильным, а proverka@example,com или proverka@example — нет. Если ввести адрес электронной почты, не соответствующий условию на значение, введенные данные будут отклонены и появится сообщение, указанное в свойстве Сообщение об ошибке. Если свойство Сообщение об ошибке не задано, будет выведено стандартное сообщение.

Сообщение об ошибке (необязательно)

Введите адрес электронной почты со знаком «@» и полным именем домена (пример: frank@contoso.com).

Дополнительные сведения о применении правил проверки, а также пошаговые инструкции см. в статье Ограничение ввода данных с помощью правил проверки.

Источник

Как создать маску ввода для мобильных устройств

Маска ввода что это. Смотреть фото Маска ввода что это. Смотреть картинку Маска ввода что это. Картинка про Маска ввода что это. Фото Маска ввода что это

Sep 18, 2017 · 9 min read

Маска ввода что это. Смотреть фото Маска ввода что это. Смотреть картинку Маска ввода что это. Картинка про Маска ввода что это. Фото Маска ввода что это

Больше статтей и перевод в моем блоге DevKucher;

Представьте себе: вы сидите, думаете о своих делах, пишите код. И тут кто-то приходит и просит вас создать маску ввода для мобильных приложений с использованием чистого JavaScript (без внешних библиотек!).

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

Мне потребовалось около 10 с е кунд, чтобы вспомнить, что события клавиатуры работают по-разному для разных устройств. Оказывается, найти решение для маски ввода которое будет работать в Android, iOS и Google Chrome было не так просто.

Знакомство с событиями клавиатуры

Позвольте мне познакомить вас с событиями клавиатуры. Они запускаются при нажатие на физическую или виртуальную клавишу:

Каждый раз, когда происходит взаимодействие с клавиатурой, событие предоставляет объекту информацию о самом взаимодействии. Например, какой ключ был нажат и физическое местоположение на клавиатуре. Вот некоторые из свойств, которые можно использовать для идентификации нажатой клавиши:

Android проблемы

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

Но нет, дело в том, что Android-клавиатура не так проста. Когда я добавил событие keypress и показал свойства keyCode, я немного удивился: в Android не было события keypress.

Маска ввода что это. Смотреть фото Маска ввода что это. Смотреть картинку Маска ввода что это. Картинка про Маска ввода что это. Фото Маска ввода что это

Нажатие клавиши А верхнем регистре привело к следующим свойствах keyCode в браузерах:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *