Pull to refresh

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

Reading time 1 min
Views 3.7K

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)
Tags:
Hubs:
+65
Comments 20
Comments Comments 20

Articles