如何使用 jQuery 和正则表达式验证电子邮件地址
在这篇文章中,我们将深入研究使用 jQuery 和正则表达式验证电子邮件地址,为这项常见任务提供全面的解决方案。
正则表达式
提供的正则表达式旨在彻底验证电子邮件地址:
^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)$
jQuery 函数
为了将此验证无缝集成到您的网站中,我们使用 jQuery 函数:
$j("#fld_emailaddress").live('change', function() { var emailaddress = $j("#fld_emailaddress").val(); // Regex validation here if (!isValidEmailAddress(emailaddress)) { // Handle email validation failure here // e.g., display error message } // Continue with AJAX processing // ... (your code here) ... });
isValidEmailAddress 函数
isValidEmailAddress 函数使用提供的正则表达式检查电子邮件地址的有效性:
function isValidEmailAddress(emailAddress) { var pattern = /^([a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+(\.[a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)*|"((([ \t]*\r\n)?[ \t]+)?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(([ \t]*\r\n)?[ \t]+)?")@(([a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.)+([a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.?$/i; return pattern.test(emailAddress); }
实现
要将此验证合并到您的代码中,您可以将以下行添加到您的 jQuery 函数中:
if (!isValidEmailAddress(emailaddress)) { /* do stuff here */ }
注意事项
请记住,没有正则表达式可以完全验证电子邮件地址,因为总有例外。然而,这个表达式提供了一个全面的框架来确保大多数电子邮件地址的有效性。
以上是如何使用 jQuery 和 Regex 有效验证电子邮件地址?的详细内容。更多信息请关注PHP中文网其他相关文章!