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

Mailcheck.js — проверка емейла на опечатки

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

jQuery плагин Mailcheck (github) — клиентсайд проверка емейла на опечатки по заранее определённму списку (к примеру, наиболее популярных почтовых сервисов).

Демка | сорсы демки (jsfiddle)


По заявлению (en) авторов (Kicksend), сей плагин увеличил кол-во подтверждений емейла при регистрации на 50%.






Чтобы плагин проверял на опечатки кириллические домены, правим сорсы (Line 30):
var result = Kicksend.mailcheck.suggest(encodeURI(this.val()), opts.domains);
заменяем encodeURI(this.val()) на this.val() (важно! кодировка должна быть UTF-8)

Проверяем:




Вариант нелогичного предложения


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

Входные данные:
домены: [«ua.com», «ui.com»]
емейл: user@uo.com

Вывод: user@ua.com

Если посмотреть на клавиатуру, то очевидно, что «o» ближе к «i» — другому домену — ui.com.

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

(github issue #20)
Теги:
Хабы:
Всего голосов 75: ↑70 и ↓5+65
Комментарии20

Публикации

Истории

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

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
Казань