可以根据正则表达式判断某个值是否是邮箱格式:
邮箱正则表达式:
var RegEmail = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
JS验证代码:
var userEmail="test@test.com";
if(RegEmail.test(userEmail))//如果返回true,表示userEmail符合邮箱格式
{}
else
{}
你可以试试!
1、使用正则验证
2、使用js分段判断是否符合邮件格式
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); //符合数字和规定的字符返回true
}
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;iif(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;iif(char_test(str.charAt(i))==0 && spchar_test(str.charAt(i))==0)
return (5);
for(i=at_symbol+1;iif(char_test(str.charAt(i))==0 && spchar_test(str.charAt(i))==0)
return (5);
}
//简单的检测有没有“.”,以确定服务器名是否合法
for(i=at_symbol+1;iif(str.charAt(i)=='.') dot_symbol=i;
for(i=at_symbol+1;iif(dot_symbol==0 || dot_symbol==str.length-1)
return (6);
}
}
return (0); //邮件名合法
}
var reg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
var value = "xxx@qq.com";
if(!reg.test(value)) {
alert("请输入有效的邮箱地址!");
}