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;
}