js实现邮箱地址的检测

时间:2022-02-17 16:20:14

用JavaScript实现对一个邮箱地址是否合法的检测

              

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
//验证邮箱格式
function isEmail()
{
var email=document.getElementById("mail").value;
if(email=="")
{
//alert("请输入邮箱!");
document.getElementById("checkmail").style.color="red";
document.getElementById("checkmail").innerHTML="✘请输入邮箱";
document.getElementById("mail").focus();
return false;
}
var pattern= /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
strEmail=pattern.test(email);
if (strEmail)
{
document.getElementById("checkmail").style.color="green";//设置邮箱可用是的字体颜色
document.getElementById("checkmail").innerHTML="✔";
return true;
}
else
{
document.getElementById("checkmail").style.color="red";//设置邮箱不可用时的字体颜色
document.getElementById("checkmail").innerHTML="✘请输入正确的邮箱";
document.getElementById("mail").focus();
//alert("邮箱格式不正确!");
}
}
</script>
</head>

<body>

请您输入<input type="text" onblur="isEmail()" id="mail"/><br>

<span id="checkmail"> </span>

</body>
</html>
部分解释:

var pattern= /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/
这是正则表达式 ^代表匹配的开始,$代表的匹配的结束

onblur是js的用法,他的功能就是当他所处的标签失去焦点的时候,就是触动js中的自定义的函数,从而开始调用js函数

另外补充一下: 字符编码这块,这段代码中使用的搜狗软件盘中的特殊字符,gbk编码不是使用吗,所以在此选择