zoukankan      html  css  js  c++  java
  • JavaScript验证Email地址

    电子邮件地址具有以下统一的标准格式:用户名@服务器域名。

    用户名表示邮件信箱、注册名或信件接收者的用户标识,@符号后是你使用的邮件服务器的域名。@可以读成“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" onblur="emailCheck(this.value)" />

  • 相关阅读:
    SDN课程阅读作业(2)
    2019 SDN上机第5次作业
    第01组 Alpha事后诸葛亮
    Windows 7 64位安装cURL
    html 空白汉字占位符&#12288;
    申请一个免费美国手机号码
    搭建网站需要学习什么(转自知乎)
    Eclipse 项目有红感叹号
    CSS字体大小之em,px,百分比
    题目1013:开门人和关门人
  • 原文地址:https://www.cnblogs.com/hakuci/p/1856462.html
Copyright © 2011-2022 走看看