- PVSM.RU - https://www.pvsm.ru -
jQuery плагин Mailcheck [1] (github) — клиентсайд проверка емейла на опечатки по заранее определённму списку (к примеру, наиболее популярных почтовых сервисов).
По заявлению [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
Если посмотреть на клавиатуру, то очевидно, что «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
Нажмите здесь для печати.