PHP 驗證郵箱是否合法,正確
阿新 • • 發佈:2019-01-27
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; }