Плагин маски ввода для input - jquery maskedinput - инструкция, настройка, инициализация

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

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

Отличительные особенности и возможности плагина Masked Input:

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

Плагин масок полей ввода состоит из основных частей:

  • Демонстрационная HTML разметка
  • JQuery скрипт с кодом плагина

Пример установки плагина Masked Input

Скачайте архив с плагином из репозитория разработчика и скопируйте его содержимое в каталог вашего сайта.

!!! Для работы скрипта обязательно наличие подключенной библиотеки jQuery.

Инициализация и настройка плагина Masked Input.

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

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.maskedinput.js"></script>

Для подключения маски к полю ввода необходимо добавить соответствующий класс или id:

<form action="/">
	<input class="date" type="text" name="name"><br>
	<input class="phone" type="text" name="name"><br>
	<input class="phoneext" type="text" name="name"><br>
	<input class="tin" type="text" name="name"><br>
	<input class="ssn" type="text" name="name"><br>
	<input class="product" type="text" name="name"><br>
	<input class="eyescript" type="text" name="name"><br>
	<button type="submit" name="submitbtn" value="Отправить">Отправить</button>
</form>

И инициализировать плагин маски ввода:

<script>
jQuery(function($){
	$('.date').mask('99/99/9999');
	$('.phone').mask('(999) 999-9999');
	$('.phoneext').mask("(999) 999-9999? x99999");
	$(".tin").mask("99-9999999");
	$(".ssn").mask("999-99-9999");
	$(".product").mask("a*-999-a999");
	$(".eyescript").mask("~9.99 ~9.99 999");
});
</script>

Базовые условные обозначения:

    • a — буквы
    • 9 — цифры
    • * — буквы и цифры
    • ? — необязательная часть маски

Часть маски может быть вариативной. Символ «?» маркирует все последующие за ним символы как необязательные, т.е. все, что следует после него, считается необязательным для ввода. Пример:

$('.phoneext').mask("(999) 999-9999? x99999");

Дополнительные настройки плагина

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

Для создания наборов символов используется свойство definitions, пример:

<script>
$(document).ready(function(){
	$.mask.definitions['~']='[+-]';
	$(".eyescript").mask("~9.99 ~9.99 999");
})
</script>

2. Выполнение действия после завершения ввода.

По завершении ввода можно выполнить функцию с помощью метода completed, пример:

<script>
$(document).ready(function(){
	$(".ssn").mask("999-99-9999",{completed:function(){alert(“Поле заполнено!”)}});
})
</script>

3. Подстановка плейсхолдера в поле ввода.

С помощью свойства placeholder, можно поставить плейсхолдер на текущее поле ввода, пример:

<script>
$(document).ready(function(){
	$(".date").mask("99/99/9999",{placeholder:"mm/dd/yyyy"});
})
</script>

Заключение

Пожалуй, это вся необходимая информация для эффективного использования плагина jquery MaskedInput. Всем спасибо за внимание!