在开发 web系统时,经常在注册或者登陆或者邮箱保护的时候会需要验证邮箱,现在我来分享邮箱验证的一些小tips。(多说一句,现在基本用手机号注册登录是趋势了,匹配手机号我后面再讲了)。

  1.最开始也是最简单的,就是验证下邮箱的组成 ,思路: 3~50 (字母数字_)   + @ + 邮箱域名。

    以下为测试示例:     

$Email = '572752023@qq.com';
$reg = '#^\w{3,50}@\w{1,64}\.\w{2,5}$#'; if(preg_match($reg,$Email)){
echo '验证通过';
}else{
echo '错误的邮箱格式';
}

   这是最简单的邮箱验证了,主要是验证了 邮箱的格式是否正确了

2. 后来 翻看php.net里面关于PHP自带的验证函数 filter_var()(准确来说,叫做 过滤器),更好用!!!  详细链接在此:http://php.net/manual/zh/function.filter-var.php

    对于验证邮箱来说,这一句就够了,filter_var($email,FILTER_VALIDATE_EMAIL)  

$email =  '572752023@qq.com';
if(filter_var($email,FILTER_VALIDATE_EMAIL)){
echo '验证通过';
}else{
echo '错误的邮箱格式';
}

  以上基本能够验证基本的邮箱格式,但是并不知道邮箱的服务器是否可用,这时候就用checkdnsrr() 来检查 主机的DNS记录,以此判断邮箱是否存在, 

$Email = '572752023@qq.com';
$host = substr($Email,strpos($Email,'@')+1);
var_dump(checkdnsrr($host));

  3. 最后 如果碰到二级域名的邮箱,可以用 以下的 正则表达式来 判断,主要思路就是 多检查二次域名,如下:

  

$email =  '572752023@qq.com.cn';
$reg = '#([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?#i';
if(preg_match($reg,$email)){
echo '验证通过';
}else{
echo '错误的邮箱格式';
}

  以上为验证邮箱的简单记录,希望对各位有用~~~

本文永久地址:http://www.cnblogs.com/guixiaoming/p/6429976.html

php 验证邮箱的方法的更多相关文章

  1. PHP自带方法验证邮箱、URL、IP是否合法

    PHP验证邮箱.URL.IP是否合法 以前用PHP验证邮箱.URL.IP是否合法都是通过自己写正则来实现,但是有时候脑子发昏,可能会写出一个不是完全正确的正则,导致验证出错,今天发现原来PHP本身自带 ...

  2. vue中将验证表单输入框的方法写在一个js文件中(表达式验证邮箱、身份证、号码、两次输入的密码是否一致)

    文章目录 1.实现的效果 2.编写的js文件(这里写在了api文件下) 3.在vue页面中引入(script) 4.页面代码 1.实现的效果 20220606_154646 2.编写的js文件(这里写 ...

  3. php使用过滤器filter_var轻松验证邮箱url和ip地址等

    以前使用php的时候还不知道有过滤器filter这玩意,那时候判断邮箱.url和ip地址格式是否符合都是用正则表达式.后来随着使用的逐渐深入,才知道在php中也可以使用内置的函数库过滤器filter来 ...

  4. JS验证邮箱格式是否正确的代码

    验证邮箱格式是否正确的方法有很多,接下来为大家介绍下使用js是如何做到的 复制代码代码如下: /*  *验证邮箱格式是否正确  *参数strEmail,需要验证的邮箱  */ www.jbxue.co ...

  5. ASP.NET MVC中对Model进行分步验证的解决方法

    原文:ASP.NET MVC中对Model进行分步验证的解决方法 在我之前的文章:ASP.NET MVC2.0结合WF4.0实现用户多步注册流程中将一个用户的注册分成了四步,而这四个步骤都是在完善一个 ...

  6. php自带验证邮箱 url ip函数

    以前用PHP验证邮箱.URL.IP是否合法都是通过自己写正则来实现,但是有时候脑子发昏,可能会写出一个不是完全正确的正则,导致验证出错,今天发现原来PHP本身自带了验证邮箱.URL.IP是否合法的函数 ...

  7. php 过滤器filter_var验证邮箱/url/ip等

    验证邮箱.url或者ip,除了使用正则外,也可以使用内置的函数库过滤器filter来完成这些功能. filter_var (PHP 5 >= 5.2.0, PHP 7)filter_var — ...

  8. JS验证邮箱格式是否正确 实例代码

    如何用js验证邮箱格式是否正确?分享一个例子.代码: /* *验证邮箱格式是否正确 *参数strEmail,需要验证的邮箱 */ function chkEmail(strEmail) { if (! ...

  9. php验证邮箱是否合法

    下面我来总结了在php邮箱验证的正则表达式以及还可以checkdnsrr函数来验证你输入的邮箱是否是有效的哦,这样可以更好的过滤到无效邮箱地址哦.     域名由各国文字的特定字符集.英文字母.数字及 ...

随机推荐

  1. Troubles in Building Android Source Code

    Some Troubles or problems you may encounter while you setup the Android source code build environmen ...

  2. vector list map 遍历删除指定元素

    #include <stdio.h> #include <stdint.h> #include <vector> #include <list> #in ...

  3. Linux 常见安全检查方法

    Linux 常见安全检查方法进行概要说明: 一.检查系统密码文件,查看文件修改日期 # ls -l /etc/passwd 二.查看 passwd 文件中有哪些特权用户 # awk -F: '$3= ...

  4. Android学习(十六) 通过GestureDetector进行手势识别

    一.手势交互过程: 1)触屏时,触发MotionEvent事件. 2)被OnTouchListener监听,在onTouch()中获得MotionEvent对象. 3)GestureDetector转 ...

  5. java中不能用小数点(.)来做分隔符

    split()括号里是一个String的参数,所以一定要符合这种:split(".")形式,即点'.'要用双引号""括起来"."在java中 ...

  6. [DevExpress]TreeListLookUpEdit带checkbox之经典运用

    上代码: public partial class TreeListLookUpEdit : DevExpress.XtraEditors.XtraForm { private string _Key ...

  7. 用VS2010创建三层架构开发模式及三层架构的研究

    三层架构的研究 三层体系结构的概念 用户界面表示层(USL) 业务逻辑层(BLL) 数据访问层(DAL) BLL将USL与DAL隔开了,并且加入了业务规则   各层的作用 1:数据数据访问层:主要是对 ...

  8. Laravel5.4使用Memcached缓存

    修改默认的缓存驱动 Laravel默认的缓存驱动是file,想要切换为Memcached需要修改.env文件.把CACHE_DRIVER=file改为CACHE_DRIVER=memcached,改好 ...

  9. Python基础之模块2

    如何导入多个模块? import re #单行导入多个模块 '''多行导入多个模块''' import re import sys import os 如何给模块起别名? import my_modu ...

  10. 还在用系统自带的?那你那就OUT了!

    相信如今的APP10个里面有九个是有Tabbar的,可是非常多人甚是非常多公司都在用系统自带的tabbar.当然这也不是不能够,并且项目中就那几行代码.效果又一样. 可是,别忘了另一个可是.然并卵.这 ...