- PVSM.RU - https://www.pvsm.ru -

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

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

Демка [2] | сорсы демки [3] (jsfiddle)

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

Чтобы плагин проверял на опечатки кириллические домены, правим сорсы (Line 30 [5]):

var result = Kicksend.mailcheck.suggest(encodeURI(this.val()), opts.domains);

заменяем encodeURI(this.val()) на this.val() (важно! кодировка должна быть UTF-8)

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

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

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

Вывод: user@ua.com

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

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

(github issue #20 [7])

Автор: demark


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/4372

Ссылки в тексте:

[1] Mailcheck: https://github.com/Kicksend/mailcheck

[2] Демка: http://jsfiddle.net/7cDkR/embedded/result/

[3] сорсы демки: http://jsfiddle.net/7cDkR/

[4] заявлению: http://blog.kicksend.com/how-we-decreased-sign-up-confirmation-email-b

[5] Line 30: https://github.com/Kicksend/mailcheck/blob/master/src/jquery.mailcheck.js#L30

[6] алгоритм поиска наибольшей общей подстроки: http://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D0%B8%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%B0%D1%8F_%D0%BE%D0%B1%D1%89%D0%B0%D1%8F_%D0%BF%D0%BE%D0%B4%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0

[7] github issue #20: https://github.com/Kicksend/mailcheck/issues/20