jquery与js验证邮箱格式的方法

发布时间:2020-11-14编辑:脚本学堂
本文介绍了jquery与js验证邮箱格式的不同方法,如何正确验证邮箱格式,初学js与jquery的朋友会有所困惑,这里为大家分享下邮箱验证的实例教程,一起来看看。

例1,验证email邮箱格式
功能实现:
在输入框内输入信息。
如果框内信息为空,会出现提示:登陆邮箱不能为空!(红色文字)
如果框内信息格式不为邮箱格式,会出现提示:请输入常用邮箱!(红色文字)
如果框内信息格式为正确邮箱格式,会出现提示:你输入的邮箱格式正确 (绿色文字)
此测试由两个函数构成,checkEmail函数用来检测邮箱格式,test函数用来测试输入框内信息。
拷贝下代码可直接浏览效果。可根据具体需要进行修改。
代码:
 

复制代码 代码示例:

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB STARTING  ---  验证邮箱</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script language="javascript" type="text/javascript">
//验证邮箱,正确返回true,错误返回false
function checkEmail(email){
var emailRegExp = new RegExp(            "[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?");
if (!emailRegExp.test(email)||email.indexOf('.')==-1){
return false;
}else{
return true;
}
}
//验证输入框内信息,并给出对应提示
function test(obj){
if(obj=="mail"){
var email=$.trim($("input[name='mail']").val());
if(email==""){
$("#tishi_mail").html("<p>登陆邮箱不能为空!</p>");
$("#tishi_mail p").addClass("tsTxt_error");
}else{
if(!checkEmail(email)){
$("#tishi_mail").html("<p>请输入常用邮箱!</p>");
$("#tishi_mail p").addClass("tsTxt_error");
}else{
$("#tishi_mail").html("<p>你输入的邮箱格式正确</p>");
$("#tishi_mail p").addClass("tsTxt");
};
}

}
};
</script>
<style type="text/css">
body{color:#fff;font-weight:bold;background:#333}
.tsTxt_error{width:200px;height:20px;line-height:20px;color:#F00;padding:0 10px;}
.tsTxt{width:200px;height:20px;line-height:20px;color:#0C0;padding:0 10px;}
</style>
</head>

<body>
<p>在此框内输入邮箱地址,点击框外会出现会出现对应测试信息</p>
<input type="text" class="kuang" name="mail" onblur="test('mail')" value="输入你的邮箱" onfocus="if(value=='输入你的邮箱'){value=''}" id="input_mail" />
<div id="tishi_mail"></div>
<a
</body>
</html>

<script language=javascript>
function mail_test()
{
email=f1.mail.value;
if(!/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/.test(email))
{
  alert("mail格式不对,请重新输入");
  f1.mail.focus();
  return false;
}
}
</script>
<form name="f1" onsubmit="return mail_test();">
<input name="mail">
<input value="确定" type="submit">
</form>

或者
<script language=javascript>
function checkEmail(cEmail)  //验证邮箱地址是否正确,cEmail为邮箱地址。
{if(cEmail.match(/[w-]+@{1}[w-]+.{1}w{2,4}(.{0,1}w{2}){0,1}/ig)!=cEmail)
  return false
else
  return true}
</script>

<input id=zz><input type=button value=check onclick="if(checkEmail(zz.value))alert('正确');else alert('错误')">

与众多jquery验证邮箱格式的方法不同,js代码验证email是否正确,有时代码会更简洁,结合正则在一起,效果也还是蛮不错的。

一起继续学习,来看例2.

例2,js验证邮箱格式。
 

复制代码 代码示例:
function finish_onclick()
{
 var username = document.getElementByIdx("username");
 var pwhidden = document.getElementByIdx("pwhidden");
 if(username.value=="")
{
alert("请填写您的企业邮箱地址!");
 username.focus();
return false;
}
var re = new RegExp("/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$");
 if(!re.test(username.value))
{
alert("请正确输入您的 email 地址!");
 username.focus();
 return false;
}
if(pwhidden.value=="")
{
alert("请填写您的企业邮箱登陆密码!");
pwhidden.focus();
return false;
 }
document.f1.submit();
}
<asp:TextBox id="TextBox1" style="Z-INDEX: 101; LEFT: 376px; POSITION: absolute; TOP: 120px" runat="server">  输入 邮箱名
<INPUT style="Z-INDEX: 102; LEFT: 536px; POSITION: absolute; TOP: 120px" type="button" value="Button" onclick="JavaScript:return CheckEmail();>验证 控件

例3,一个正侧表达式在javascript中验证邮箱格式。
 

复制代码 代码示例:
<script language='javascript'>
function chkMail(){ www.jb200.com
if(document.form1.email.value=''){
alert("请填写邮箱地址!");
document.form1.email.focus();
return false;
}
//开始验证
var email = document.form1.email.value;
var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
chkFlag = pattern.test(email);
if(chkFlag){
return true;
}
else
{
alert("邮箱地址的格式不正确!");
document.form1.email.focus();
return false;
}
}
</script>

例4,一句话验证邮箱格式。
 

复制代码 代码示例:

if(!/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/.test('email'))
{
alert('email不正确');
}

例5,js验证邮箱格式。
function isEmail(email)
{
invalidChars = " /;,:{}[]|*%$#!()`<>?";
if (email == "")
{
return false;
}
for (i=0; i< invalidChars.length; i++)
{
badChar = invalidChars.charAt(i)
if (email.indexOf(badChar,0) > -1) {
return false;
}
}
atPos = email.indexOf("@",1)
if (atPos == -1) {   return false; }
if (email.indexOf("@", atPos+1) != -1) {   return false; }
periodPos = email.indexOf(".",atPos)
if(periodPos == -1) {
return false; // and at least one "." after the "@"
}
if ( atPos +2 > periodPos) {
return false; // and at least one character between "@" and "."
}
if ( periodPos +3 > email.length) {   return false; }
return true;
}
aspx: 调用:
<input id=zz><input type=button value=check onclick="if(isEmail(zz.value))alert('正确');else alert('错误');