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

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

Публикации

Истории

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
24 сентября
Astra DevConf 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн