Pull to refresh

JQuery плагин ipmask для ввода ip v4

Reading time 1 min
Views 11K


Для админки возникла задача – сделать удобным ввод ip-адресов.
Существующие плагины не устраивали тем, что они либо не точно проверяли формат и позволяли вводить ip типа 264.734.443.332, или не умели сами ставить разделители, или при вводе октета большего чем 255 уменьшали до наименьшего, т.е. при вводе 665 вместо того, чтобы поставить разделитель точку после 66, т.е. сделать 66.5 уменьшали до 255, т.е. никакого удобства.

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


Это мой первый плагин, опыта создания не было, решил переделать существующий похожий плагин.
Чтобы не городить кучу условий условий и исключений для проверки ввода символов, было принято решение проверять введенную строку по регулярному выражению. Если каждый введенный символ соответствовал, отлично. Если нет, то пробуем этот символ с разделителем.
Одно регулярное выражение проверяет полную строку ip-адреса, другое проверяет строку может ли она являться частью ip-адреса.

В итоге код получился небольшим и главную функцию плагин выполняет.

Если кому-то понадобится
пример работы плагина (обновлен 07.03.2014)

github

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

upt (07.03.2014):
— Исправлены баги
— Добавлен placeholder
— Добавлена возможность редактирования отдельных октетов.
Tags:
Hubs:
+1
Comments 19
Comments Comments 19

Articles