JavaScript验证Email邮箱格式的三种方法

发布时间:2020-01-14编辑:脚本学堂
本文介绍下,Javascript验证Email邮箱格式的三种方式,举了三个例子,供大家学习参考。

方法1,验证邮箱格式
 

复制代码 代码示例:
<script LANGUAGE=javascript RUNAT=Server>
function isEmail(strEmail) {
if (strEmail.search(/^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$/) != -1)
return true;
else
alert("oh");
}
</SCRIPT>
<input type=text onblur=isEmail(this.value)>

方法2,验证email填写是否正确
 

复制代码 代码示例:

<html>
<head>
<title>验证email填写是否正确-www.jb200.com</title>
<script language="javascript">
function emailCheck () {
var emailStr=document.all.form1.tel.value;
alert(emailStr);
var emailPat=/^(.+)@(.+)$/;
var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
alert("电子邮件地址必须包括 ( @ 和 . )")
return false;
}
return true;
}
</script>
</head>

<body>
<form name="form1">
<input type="text" name="tel"/>
<input type="button" value="press" onclick="emailCheck()"/>
</form>
</span>
</body>
</html>

方法3,js验证Email
 

复制代码 代码示例:

<script language="javascript">
function char_test(chr)
//字符检测函数
{
var i;
var smallch="abcdefghijklmnopqrstuvwxyz";
var bigch="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for(i=0;i<26;i++)
if(chr==smallch.charAt(i) || chr==bigch.charAt(i))
  return(1);
return(0);
}

function spchar_test(chr)
//数字和特殊字符检测函数
{
var i;
var spch="_-.0123456789";
for (i=0;i<13;i++)
  if(chr==spch.charAt(i))
  return(1);
return(0);
}

function email_test(str)
{
var i,flag=0;
var at_symbol=0;
//“@”检测的位置
var dot_symbol=0;
//“.”检测的位置
if(char_test(str.charAt(0))==0 )
return (1);
//首字符必须用字母

for (i=1;i<str.length;i++)
if(str.charAt(i)=='@')
  {
  at_symbol=i;
  break;
  }
//检测“@”的位置

if(at_symbol==str.length-1 || at_symbol==0)
return(2);
//没有邮件服务器域名

if(at_symbol<3)
return(3);
//帐号少于三个字符

if(at_symbol>19 )
return(4);
//帐号多于十九个字符

for(i=1;i<at_symbol;i++)
if(char_test(str.charAt(i))==0 && spchar_test(str.charAt(i))==0)
  return (5);
for(i=at_symbol+1;i<str.length;i++)
if(char_test(str.charAt(i))==0 && spchar_test(str.charAt(i))==0)
  return (5);
//不能用其它的特殊字符  
 
for(i=at_symbol+1;i<str.length;i++)
if(str.charAt(i)=='.') dot_symbol=i;
for(i=at_symbol+1;i<str.length;i++)
if(dot_symbol==0 || dot_symbol==str.length-1)
//简单的检测有没有“.”,以确定服务器名是否合法
return (6);
 
return (0);
//邮件名合法
}
</script>

有了以上的三种实现方法,再遇到需要javascript验证Email格式的问题,就不用担心了。