博客
关于我
php验证邮箱是否有效
阅读量:793 次
发布时间:2023-03-02

本文共 1579 字,大约阅读时间需要 5 分钟。

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

邮箱验证逻辑分析

该函数通过正则表达式和DNS记录检查来验证邮箱地址的有效性。正则表达式用于确保email格式符合常见规范,包括字母、数字、特殊字符以及域名结构。同时,通过checkdnsrr函数验证指定域名的DNS记录类型(如MX记录),确保域名可用性。

技术要点

  • 使用正则表达式进行格式验证
  • DNS记录检查(MX类型)
  • 适用于Linux环境
  • 需要注意的是,在Windows环境下,checkdnsrr函数不可用

替代方案:自定义DNS记录检查函数

为了解决checkdnsrr函数在Windows环境下的兼容性问题,以下是一个自定义实现DNS记录验证的函数:
                <?php
function myCheckDNSRR($hostName, $recType=''){
if(!empty($hostName)){
if( $recType=='' ) $recType="MX";
//实现DNS记录验证逻辑
return true;
}
}
?>

转载地址:http://hmtfk.baihongyu.com/

你可能感兴趣的文章
RabbitMQ集群 - 仲裁队列、Raft协议(最详细的选举流程)
查看>>
PHP学习总结(11)——PHP入门篇之WAMPServer多站点配置
查看>>
PHP学习总结(12)——PHP入门篇之变量
查看>>
PHP学习总结(13)——PHP入门篇之常量
查看>>
PHP学习总结(14)——PHP入门篇之常用运算符
查看>>
PHP学习总结(1)——PHP入门篇之PHP可以做什么?
查看>>
PHP学习总结(2)——PHP入门篇之PHP代码标识
查看>>
PHP学习总结(3)——PHP入门篇之PHP的echo语句
查看>>
PHP学习总结(4)——PHP入门篇之PHP计算表达式
查看>>
PHP学习总结(5)——PHP入门篇之PHP字符串
查看>>
PHP学习总结(6)——PHP入门篇之PHP语句结束符
查看>>
PHP学习总结(7)——PHP入门篇之PHP注释
查看>>
rabbitmq重启失败
查看>>
PHP学习总结(9)——PHP入门篇之WAMPServer服务控制面板介绍
查看>>
php学习笔记---php调试和开发工具整理
查看>>
PHP学习笔记一:谁动了你的mail(),PHP?
查看>>
PHP安全实战
查看>>
php安装扩展
查看>>
php实战第二十二天
查看>>
rabbitmq重启
查看>>