电子邮件地址具有以下统一的标准格式:用户名@服务器域名。
用户名表示邮件信箱、注册名或信件接收者的用户标识,@符号后是你使用的邮件服务器的域名。@可以读成“at”,也就是“在”的意思。整个电子邮件地址可理解为网络中某台服务器上的某个用户的地址。
1.用户名,可以自己选择。由字母a~z(不区分大小写)、数字0~9、点、减号或下划线组成;只能以数字或字母开头和结尾,例如:beijing.2008;用户名长度为4~18个字符 。 2.与你使用的网站有关,代表邮箱服务商。例如网易的有@163.com/@126.com/@188.com/@Yeah.com等;新浪的是@sina.com/@vip.sina.com等
完整js验证Email
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); //邮件名合法 }function emailCheck(str) { //var st=email_test(str); if(str.length==0) {alert("请输入Email");} else { if(email_test(str)==1)alert("Email首字符必须用字母"); if(email_test(str)==2)alert("Email没有邮件服务器域名"); if(email_test(str)==3)alert("Email帐号少于三个字符 "); if(email_test(str)==4)alert("Email帐号多于十九个字符"); if(email_test(str)==5)alert("Email不能用其它的特殊字符"); if(email_test(str)==6)alert("简单的检测有没有“.”,以确定服务器名是否合法"); }}
<script type="text/javascript" language="javascript" src="js/function.js"></script>
调用<input name="mail" type="text" id="mail" οnblur="emailCheck(this.value)" />