PHP验证邮箱的正确与有效性(示例)
发布时间:2017-09-12 编辑:jiaochengji.com
分享一个php验证邮箱正确性及有效性的代码,老外写的,验证邮箱的功能还不错,有兴趣研究php邮箱验证的朋友,可以参考学习下。
在国外一网站上看到Verify a User’s Email Address Using PHP,即用PHP验证邮箱的正确与有效性。
代码:
复制代码 代码示例:
<?php
function validate_email($email){
$exp="^[a-z'0-9]+([._-][a-z'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";
if(eregi($exp,$email)){ //先用正则表达式验证email格式的有效性
if(checkdnsrr(array_pop(explode("@",$email)),"MX")){//再用checkdnsrr验证email的域名部分的有效性
return true;
}else{
return false;
}
}else{
return false;
}
}
function validate_email($email){
$exp="^[a-z'0-9]+([._-][a-z'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";
if(eregi($exp,$email)){ //先用正则表达式验证email格式的有效性
if(checkdnsrr(array_pop(explode("@",$email)),"MX")){//再用checkdnsrr验证email的域名部分的有效性
return true;
}else{
return false;
}
}else{
return false;
}
}
注意:checkdnsrr函数在win主机上是无效的!
附,国外某程序员提出的一种解决办法,另外写了个函数代替checkdnsrr函数:
复制代码 代码示例:
<?php
function myCheckDNSRR($hostName, $recType=''){
if(!empty($hostName)){
if( $recType=='' ) $recType="MX";
exec("nslookup -type=$recType $hostName", $result);
foreach($result as $line){
if(eregi("^$hostName",$line)){
return true;
}
}
return false;
}
return false;
}
function myCheckDNSRR($hostName, $recType=''){
if(!empty($hostName)){
if( $recType=='' ) $recType="MX";
exec("nslookup -type=$recType $hostName", $result);
foreach($result as $line){
if(eregi("^$hostName",$line)){
return true;
}
}
return false;
}
return false;
}
您可能感兴趣的文章:
php邮箱检测的正则表达式一例
PHP邮箱地址正确性验证示例
PHP验证邮箱的正确与有效性(示例)
php正则验证邮箱的函数
邮箱地址验证的方法(php、js)
PHP、Mysql、jQuery找回密码的实现代码
php邮箱验证的正则表达式代码
验证用户输入的邮箱有效性与正确性的php代码
php正则验证email邮箱及抽取内容中email的例子
如何提高E-mail收发的成功率
上一篇:PHP邮箱地址正确性验证示例
下一篇:php用户注册与邮箱验证代码
[关闭]