php验证电子邮箱
一般web开发,前端的js会限制邮箱的格式。但是总是有各种情况发生,后台也需要对邮箱进行验证。
<?php
$email = 'i@xiny9.com';
$pattern = "/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i";
//邮箱格式层面检验
if (!filter_var($email, FILTER_VALIDATE_EMAIL) || !preg_match($pattern,$email)){
echo '邮箱不合法';die;
}
//邮箱服务层面校验,该校验只是校验主机名是否存在MX(邮件交换记录)解析
if(!checkdnsrr(array_pop(explode('@', $email)),'MX'){
echo '邮箱服务不存在';die;
}