冉冉说

检查电子邮件地址是否格式良好的最简单和最安全的方法是使用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中验证电子邮件地址相关推荐

  1. python 指定证书验证_如何在python中验证SSL证书?

    我需要验证我的自定义CA签署了证书.使用OpenSSL命令行实用程序很容易做到: # Custom CA file: ca-cert.pem # Cert signed by above CA: bo ...

  2. 如何在JavaScript中验证电子邮件地址

    如何在JavaScript中验证电子邮件地址? #1楼 与squirtle相比 ,这是一个复杂的解决方案,但是在正确验证电子邮件方面做得非常出色: function isEmail(email) { ...

  3. 如何在Java中验证电话号码(正则表达式+ Google libphonenumber)

    关于如何在不同国家(例如美国,美国)使用Java验证电话号码的快速指南. 带有正则表达式和Google libphonenumber API的示例程序. 1.简介 在本教程中,我们将学习如何在java ...

  4. angular和react_如何在Angular中验证默认和自定义React形式

    angular和react by Luuk Gruijs Luuk Gruijs着 如何在Angular中验证默认和自定义React形式 (How to validate default and cu ...

  5. linux ios文件是否存在,技术|如何在 Linux 中验证 ISO 镜像

    你从喜爱的 Linux 发行版的官方网站或第三方网站下载了它的 ISO 镜像之后,接下来要做什么呢?是创建可启动介质并开始安装系统吗?并不是,请稍等一下.在开始使用它之前,强烈建议你检查一下你刚下载到 ...

  6. 如何在WordPress中建立电子邮件列表–电子邮件营销101

    Building an email list is a hot topic among bloggers and small business owners. Just about every exp ...

  7. linux重启网卡命令_如何在 Linux 中更改 MAC 地址 | Linux 中国

    在向你展示如何在 Linux 中更改 Mac 地址之前,让我们首先讨论为什么要更改它.-- Dimitrios Savvopoulos 在向你展示如何在 Linux 中更改 MAC 地址之前,让我们首 ...

  8. 如何在 Python 中验证用户输入

    要验证用户输入: 使用 while 循环进行迭代,直到提供的输入值有效. 检查输入值在每次迭代中是否有效. 如果该值有效,则跳出 while 循环. # ✅ 验证用户输入的是否是整数num = 0wh ...

  9. 在国内如何使用gmail_如何在Gmail中召回电子邮件

    在国内如何使用gmail We've all had moments where we've immediately regretted sending an email. If you're in ...

最新文章

  1. seaborn使用violinplot函数可视化水平小提琴图(Make Horizontal Violin Plot with violinplot in Seaborn)
  2. windows中的常用Dos命令
  3. webpack5--css 打包
  4. VTK:PolyData之MiscCellData
  5. 编译安装php之安装libiconv-1.14.tar.gz出错解决方法
  6. 安装ie浏览器的js脚本调试工具
  7. python做定时任务的方式及优缺点_Python3-定时任务四种实现方式
  8. 复习篇1.对象和封装
  9. 1030: [JSOI2007]文本生成器 ac自动机+dp
  10. (Oracle)rownum用法详解 转载的
  11. leetcode day7
  12. Hadoop—数据仓库分层介绍
  13. matlab给语音信号添加噪声
  14. 黑苹果驱动 hackintosh
  15. 基于 SpringCloud 微服务架构的广告系统(第二部分:广告投放、微服务调用与断路器)
  16. ppt模板怎样用到html中,PPT模板怎么设置(ppt模板怎么竖版)
  17. WebRTC中的信令和内网穿透技术 STUN / TURN
  18. 《中台产品经理宝典》读后感11:大白话说透时下备受追捧的数字化转型是什么?
  19. Ensight——Fluent重叠网格解决方案【翻译】
  20. 从阿里云邮箱迁移至网易邮箱

热门文章

  1. 【转】VB6和VB.NET的区别
  2. 大数据与云计算——牛客网大数据面试问题总结
  3. 服务器局域网无法访问共享文件夹,科学网—局域网共享文件夹不能访问 - 陈芳林的博文...
  4. pyautoGUI自动化脚本
  5. 计算机锁定不能强制选项无法关机,win7系统1909无法关机只能强制关机重启的解决办法...
  6. Django安装教程——4.0(官方文档版)
  7. 小程序获取用户信息(微信运动步数)
  8. 【壮丽70年·奋斗新时代】宿州:从农业大市转身为“中国云都”
  9. 带中文字库的12864驱动笔记
  10. 局域网设置共享打印机步骤