Статьи

JavaScript для проверки адреса электронной почты с помощью регулярных выражений

Это фрагмент кода для базового JavaScript для проверки адреса электронной почты с помощью регулярного выражения. Это основано на моем предыдущем посте о том, как использовать регулярные выражения с jQuery . Вы также можете загрузить код в jsfiddle ниже.

Обновление 12/05/13: разделены на версии для тестирования.

Версия 1

var $email = $('form input[name="email'); //change form to id or containment selector var re = /^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|( ".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA -Z-0-9]+.)+[a-zA-Z]{2,}))$/igm; if ($email.val() == '' || !re.test($email.val())) { alert('Please enter a valid email address.'); return false; } 

Загрузить код в jsfiddle

Версия 2

 var $email = $('form input[name="email'); //change form to id or containment selector var re = /[A-Z0-9._%+-]+@[A-Z0-9.-]+.[AZ]{2,4}/igm; if ($email.val() == '' || !re.test($email.val())) { alert('Please enter a valid email address.'); return false; } 

Загрузить код в jsfiddle

Версии

 //reported to validate incorrectly: [email protected] as true /[A-Z0-9._%+-]+@[A-Z0-9-]+.+.[AZ]{2,4}/igm //reported to validate incorrectly: [email protected]@ as true /[A-Z0-9._%+-]+@[A-Z0-9.-]+.[AZ]{2,4}/igm //current version /^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|( ".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA -Z-0-9]+.)+[a-zA-Z]{2,}))$/ . //reported to validate incorrectly: [email protected] as true /[A-Z0-9._%+-]+@[A-Z0-9-]+.+.[AZ]{2,4}/igm //reported to validate incorrectly: [email protected]@ as true /[A-Z0-9._%+-]+@[A-Z0-9.-]+.[AZ]{2,4}/igm //current version /^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|( ".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA -Z-0-9]+.)+[a-zA-Z]{2,}))$/ . //reported to validate incorrectly: [email protected] as true /[A-Z0-9._%+-]+@[A-Z0-9-]+.+.[AZ]{2,4}/igm //reported to validate incorrectly: [email protected]@ as true /[A-Z0-9._%+-]+@[A-Z0-9.-]+.[AZ]{2,4}/igm //current version /^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|( ".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA -Z-0-9]+.)+[a-zA-Z]{2,}))$/