Pull to refresh

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

Interfaces *Usability *

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:
Total votes 75: ↑70 and ↓5 +65
Views 3.6K
Comments 20
Comments Comments 20