本文介绍如何使用JavaScript的正则表达式库对输入的电子邮件地址进行合法性验证,并尝试分解出用户名和域名部分。通过实际代码示例展示了验证逻辑,该方案已在IE、Firefox及Chrome等主流浏览器中测试通过,适用于各类网页脚本开发场景。
JavaScript邮箱验证概述
在网页开发中,最常见的验证需求之一就是电子邮件地址的合法性检查。各类网页脚本通常利用“正则表达式”(regular expression)来校验用户输入的邮箱格式,判断其是否符合规范,部分实现还能进一步解析出用户名和域名。本节将使用JavaScript语言及其内置的正则表达式库,编写一个邮箱验证程序。
验证效果的直观展示如下:
以下为不符合规范的邮箱示例:

以下为符合规范的邮箱示例:

具体的源代码实现如下,经测试,该网页在IE、Firefox和Chrome浏览器中均能正常运行:
验证代码实现
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh" xml:lang="zh">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>电子邮件地址验证程序</title>
<script language="javascript" type="text/javascript">
//<![CDATA[
function check( email_address )
{
var regex = /^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g;
if ( regex.test( email_address ) )
{
var user_name = email_address.replace( regex, "$1" );
var domain_name = email_address.replace( regex, "$2" );
var alert_string = "您输入的电子邮件地址合法\n\n";
alert_string += "用户名:" + user_name + "\n";
alert_string += "域名:" + domain_name;
window.alert( alert_string );
return true;
}
else
{
window.alert( "您输入的电子邮件地址不合法" );
return false;
}
}
//]]>
</script>
</head>
<body style="text-align: center;">
<h1>电子邮件地址验证程序</h1>
请输入电子邮件地址:<input id="email_address" type="text" style="width: 300px;" /><br />
<input type="button" value="验证电子邮件地址" onclick="return check(document.getElementById('email_address').value);" />
</body>
</html>
以上分享了基于JavaScript正则表达式验证邮箱地址的方法,希望能为相关学习提供参考。