php验证电子邮件,如何在PHP中验证电子邮件地址
冉冉说
检查电子邮件地址是否格式良好的最简单和最安全的方法是使用filter_var()职能:if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
// invalid emailaddress}此外,您还可以检查域是否定义了MX记录:if (!checkdnsrr($domain, 'MX')) {
// domain is not valid}但这仍然不能保证邮件的存在。只有通过发送确认邮件才能发现这一点。现在你有了你的简单答案,如果你想学习或者其他的话,可以自由地阅读关于电子邮件地址验证的内容,只需使用快速的答案,然后继续前进。没什么不好的感觉。尝试使用regex验证电子邮件地址是一项“不可能”的任务。我甚至可以说你所做的审判是无用的。有三个RFC关于电子邮件地址和写一个regex来捕捉错误的电子邮件,同时没有假阳性是没有凡人可以做的事情。检查这份清单对于PHP所使用的正则表达式的测试(包括失败和成功)filter_var()功能。即使是内置的PHP函数、电子邮件客户端或服务器也不正确。在大多数情况下filter_var是最好的选择。如果您想知道PHP(当前)使用哪种regex模式来验证电子邮件地址,请参见PHP源程序.如果您想了解更多关于电子邮件地址的信息,我建议您开始阅读这些规范,但我必须警告您,这并不是一件容易的事情:rfc 5322rfc 5321rfc 3696rfc 6531(允许Unicode字符,尽管许多客户机/服务器不接受它)请注意filter_var()如前所述,仅在PHP5.2时才可用。如果您希望它与早期版本的PHP一起使用,您可以使用PHP中使用的正则表达式:<?php $pattern = '/^(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){255,})(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){65,}@)(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22))(?:\\.(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)*\\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)*)|(?:\\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\]))$/iD';$emailaddress = 'test@gmail.com';if (preg_match($pattern, $emailaddress) === 1) { // emailaddress is valid}关于上面使用的regex模式的说明(来自PHP源代码)。它看起来好像有一些版权迈克尔·拉什顿..如前所述:“请随意使用和重新分发此代码。但请保留此版权通知。”
php验证电子邮件,如何在PHP中验证电子邮件地址相关推荐
- python 指定证书验证_如何在python中验证SSL证书?
我需要验证我的自定义CA签署了证书.使用OpenSSL命令行实用程序很容易做到: # Custom CA file: ca-cert.pem # Cert signed by above CA: bo ...
- 如何在JavaScript中验证电子邮件地址
如何在JavaScript中验证电子邮件地址? #1楼 与squirtle相比 ,这是一个复杂的解决方案,但是在正确验证电子邮件方面做得非常出色: function isEmail(email) { ...
- 如何在Java中验证电话号码(正则表达式+ Google libphonenumber)
关于如何在不同国家(例如美国,美国)使用Java验证电话号码的快速指南. 带有正则表达式和Google libphonenumber API的示例程序. 1.简介 在本教程中,我们将学习如何在java ...
- angular和react_如何在Angular中验证默认和自定义React形式
angular和react by Luuk Gruijs Luuk Gruijs着 如何在Angular中验证默认和自定义React形式 (How to validate default and cu ...
- linux ios文件是否存在,技术|如何在 Linux 中验证 ISO 镜像
你从喜爱的 Linux 发行版的官方网站或第三方网站下载了它的 ISO 镜像之后,接下来要做什么呢?是创建可启动介质并开始安装系统吗?并不是,请稍等一下.在开始使用它之前,强烈建议你检查一下你刚下载到 ...
- 如何在WordPress中建立电子邮件列表–电子邮件营销101
Building an email list is a hot topic among bloggers and small business owners. Just about every exp ...
- linux重启网卡命令_如何在 Linux 中更改 MAC 地址 | Linux 中国
在向你展示如何在 Linux 中更改 Mac 地址之前,让我们首先讨论为什么要更改它.-- Dimitrios Savvopoulos 在向你展示如何在 Linux 中更改 MAC 地址之前,让我们首 ...
- 如何在 Python 中验证用户输入
要验证用户输入: 使用 while 循环进行迭代,直到提供的输入值有效. 检查输入值在每次迭代中是否有效. 如果该值有效,则跳出 while 循环. # ✅ 验证用户输入的是否是整数num = 0wh ...
- 在国内如何使用gmail_如何在Gmail中召回电子邮件
在国内如何使用gmail We've all had moments where we've immediately regretted sending an email. If you're in ...
最新文章
- seaborn使用violinplot函数可视化水平小提琴图(Make Horizontal Violin Plot with violinplot in Seaborn)
- windows中的常用Dos命令
- webpack5--css 打包
- VTK:PolyData之MiscCellData
- 编译安装php之安装libiconv-1.14.tar.gz出错解决方法
- 安装ie浏览器的js脚本调试工具
- python做定时任务的方式及优缺点_Python3-定时任务四种实现方式
- 复习篇1.对象和封装
- 1030: [JSOI2007]文本生成器 ac自动机+dp
- (Oracle)rownum用法详解 转载的
- leetcode day7
- Hadoop—数据仓库分层介绍
- matlab给语音信号添加噪声
- 黑苹果驱动 hackintosh
- 基于 SpringCloud 微服务架构的广告系统(第二部分:广告投放、微服务调用与断路器)
- ppt模板怎样用到html中,PPT模板怎么设置(ppt模板怎么竖版)
- WebRTC中的信令和内网穿透技术 STUN / TURN
- 《中台产品经理宝典》读后感11:大白话说透时下备受追捧的数字化转型是什么?
- Ensight——Fluent重叠网格解决方案【翻译】
- 从阿里云邮箱迁移至网易邮箱
热门文章
- 【转】VB6和VB.NET的区别
- 大数据与云计算——牛客网大数据面试问题总结
- 服务器局域网无法访问共享文件夹,科学网—局域网共享文件夹不能访问 - 陈芳林的博文...
- pyautoGUI自动化脚本
- 计算机锁定不能强制选项无法关机,win7系统1909无法关机只能强制关机重启的解决办法...
- Django安装教程——4.0(官方文档版)
- 小程序获取用户信息(微信运动步数)
- 【壮丽70年·奋斗新时代】宿州:从农业大市转身为“中国云都”
- 带中文字库的12864驱动笔记
- 局域网设置共享打印机步骤