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

в 10:29, , рубрики: javascript, jquery, validation, интерфейсы, юзабилити, Юзабилити в IT, метки: , , , ,

Mailcheck.js — проверка емейла на опечатки 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

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

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

(github issue #20)

Автор: demark

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js