Как стать автором
Обновить

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

Время на прочтение1 мин
Количество просмотров12K


Для админки возникла задача – сделать удобным ввод 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
— Добавлена возможность редактирования отдельных октетов.
Теги:
Хабы:
Всего голосов 17: ↑9 и ↓8+1
Комментарии19

Публикации

Истории

Работа

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань