完美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

相关推荐