Я бы порекомендовал Verimail.js , также есть плагин JQuery .
Почему? Verimail поддерживает следующее:
- Проверка синтаксиса (согласно RFC 822)
- Подтверждение ДВУ IANA
- Правописание для наиболее распространенных доменов верхнего уровня и доменов электронной почты
- Запретить временные домены учетной записи электронной почты, такие как mailinator.com
Так что кроме проверки, Verimail.js также дает вам предложения. Поэтому, если вы введете письмо с неправильным TLD или доменом, очень похожим на обычный домен электронной почты (hotmail.com, gmail.com и т. Д.), Оно может обнаружить это и предложить исправление.
Примеры: * 1 021 *
- test@gnail.con -> Вы имели в виду test@gmail.com?
- test@hey.nwt -> Вы имели в виду test@hey.net?
- test@hottmail.com -> Вы имели в виду test@hotmail.com?
И так далее ..
Чтобы использовать его с jQuery, просто включите verimail.jquery.js на свой сайт и запустите следующую функцию:
$("input#email-address").verimail({
messageElement: "p#status-message"
});
Элемент сообщения - это элемент, в котором будет показано сообщение. Это может быть что угодно: от «Ваш адрес электронной почты недействителен» до «Вы имели в виду ...?».
Если у вас есть форма и вы хотите ограничить ее, чтобы она не могла быть отправлена, если электронное письмо не является действительным, тогда вы можете проверить статус с помощью функции getVerimailStatus, как показано ниже:
if($("input#email-address").getVerimailStatus() < 0){
// Invalid
}else{
// Valid
}
Эта функция возвращает целочисленный код состояния в соответствии с объектом Comfirm.AlphaMail.Verimail.Status. Но общее правило состоит в том, что любые коды ниже 0 являются кодами, указывающими на ошибки.