教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 PHP验证邮箱的正确与有效性(示例)

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

注意: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;
}

您可能感兴趣的文章:
php邮箱检测的正则表达式一例
PHP邮箱地址正确性验证示例
PHP验证邮箱的正确与有效性(示例)
php正则验证邮箱的函数
邮箱地址验证的方法(php、js)
PHP、Mysql、jQuery找回密码的实现代码
php邮箱验证的正则表达式代码
验证用户输入的邮箱有效性与正确性的php代码
php正则验证email邮箱及抽取内容中email的例子
如何提高E-mail收发的成功率

关键词: PHP邮箱验证   
[关闭]
~ ~