1. 程式人生 > >PHP 驗證郵箱是否合法,正確

PHP 驗證郵箱是否合法,正確

PHP驗證郵件地址是否正確。

(1)只適合中國大陸地區

(2)只限定了主流郵箱,強制限定。其實沒有必要讓所有的郵箱都允許註冊,因為很多人如果提交假郵箱,使用系統自動發郵件,會佔用很大的資源因為對方地址不存在。

(3)如果伺服器支援checkdnsrr,那麼可以使用,不過已經限定了主流郵箱,就沒有必要用這個了。

(4)推薦使用者使用qq郵箱或者163郵箱。

    function CheckEmail($email)
    {
        global $dArr;
        $dArr = array(
        '163.com','126.com','sina.com','yahoo.com.cn','yahoo.com','sohu.com','yeah.net','139.com',
        'tom.com','21cn.com','qq.com','foxmail.com','gmail.com','hotmail.com','263.net',
        'vip.qq.com','vip.163.com','vip.sina.com','vip.sina.com.cn','vip.foxmail.com',
        );
        if(empty($email)) return FALSE;
        list($e,$d) = explode('@', $email);
        if(!empty($e) && !empty($d))
        {
            $d = strtolower($d);
            if(!in_array($d,$dArr)) return FALSE;
            return preg_match('/^[a-z0-9]+([\+_\-\.]?[a-z0-9]+)*/i', $e);
        }
        return FALSE;
    }