完美Email检测函数(JS正则匹配)

完美的Email检测函数(正则匹配)

参考了"Yahoo"、
"Hotmail"、
"Gmail"、
"网易163邮箱"、
"网易126邮箱"、
"搜狐邮箱"、
"新浪邮箱"、
"TOM免费邮箱"、
"QQ邮箱"、
"亿邮"、
"21CN免费邮箱"等邮箱的用户名命名规则
结合域名构成规则
现写邮箱的检测函数如下,并含大量检测程序,以助说明,主要是正则匹配问题。
看了大量检测Email的正则匹配,没一个很完善的,包裹Discuz!



用户名命名规则开头必为数字或字母,中间可含"_"、"-"(搜狐邮箱)、"."(Gmail),长度32

域名构成规则
开头和结尾必为数字或字母,中间可含"-",长度32,最多4级域名,顶级域名又2至4个字母组成,(如:cn、com、name)

/**
* Site checkEmail.php
*
* @author retidy <[email protected]>
* @version $Id 14时20分03秒 2005年12月11日 星期日 $
*
* @IP 219.145.62.91
* @Address 陕西省西安市 ADSL
*
*
*/


    function checkEmail($str) 
    {
      if (eregi("^[0-9a-z][_.0-9a-z-]{0,31}@([0-9a-z][0-9a-z-]{0,30}[0-9a-z]\.){1,4}[a-z]{2,4}$", $str)) 
        return true;
      else
        return false;  
    }

 转载网易 topyong1982

 

你可能感兴趣的:(email)