PHP验证邮件地址是否正确。 (1)只适合中国大陆地区 (2)只限定了主流邮箱,强制限定。其实没有必要让所有的邮箱都允许注册,因为很多人如果提交假邮箱,使用系统自动发邮件,会占用很大的资源因为对方地址不存在。 (3)如果服务器支持checkdnsrr,那么可
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; }