php 验证邮箱的方法
在开发 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 验证邮箱的方法的更多相关文章
- PHP自带方法验证邮箱、URL、IP是否合法
PHP验证邮箱.URL.IP是否合法 以前用PHP验证邮箱.URL.IP是否合法都是通过自己写正则来实现,但是有时候脑子发昏,可能会写出一个不是完全正确的正则,导致验证出错,今天发现原来PHP本身自带 ...
- vue中将验证表单输入框的方法写在一个js文件中(表达式验证邮箱、身份证、号码、两次输入的密码是否一致)
文章目录 1.实现的效果 2.编写的js文件(这里写在了api文件下) 3.在vue页面中引入(script) 4.页面代码 1.实现的效果 20220606_154646 2.编写的js文件(这里写 ...
- php使用过滤器filter_var轻松验证邮箱url和ip地址等
以前使用php的时候还不知道有过滤器filter这玩意,那时候判断邮箱.url和ip地址格式是否符合都是用正则表达式.后来随着使用的逐渐深入,才知道在php中也可以使用内置的函数库过滤器filter来 ...
- JS验证邮箱格式是否正确的代码
验证邮箱格式是否正确的方法有很多,接下来为大家介绍下使用js是如何做到的 复制代码代码如下: /* *验证邮箱格式是否正确 *参数strEmail,需要验证的邮箱 */ www.jbxue.co ...
- ASP.NET MVC中对Model进行分步验证的解决方法
原文:ASP.NET MVC中对Model进行分步验证的解决方法 在我之前的文章:ASP.NET MVC2.0结合WF4.0实现用户多步注册流程中将一个用户的注册分成了四步,而这四个步骤都是在完善一个 ...
- php自带验证邮箱 url ip函数
以前用PHP验证邮箱.URL.IP是否合法都是通过自己写正则来实现,但是有时候脑子发昏,可能会写出一个不是完全正确的正则,导致验证出错,今天发现原来PHP本身自带了验证邮箱.URL.IP是否合法的函数 ...
- php 过滤器filter_var验证邮箱/url/ip等
验证邮箱.url或者ip,除了使用正则外,也可以使用内置的函数库过滤器filter来完成这些功能. filter_var (PHP 5 >= 5.2.0, PHP 7)filter_var — ...
- JS验证邮箱格式是否正确 实例代码
如何用js验证邮箱格式是否正确?分享一个例子.代码: /* *验证邮箱格式是否正确 *参数strEmail,需要验证的邮箱 */ function chkEmail(strEmail) { if (! ...
- php验证邮箱是否合法
下面我来总结了在php邮箱验证的正则表达式以及还可以checkdnsrr函数来验证你输入的邮箱是否是有效的哦,这样可以更好的过滤到无效邮箱地址哦. 域名由各国文字的特定字符集.英文字母.数字及 ...
随机推荐
- Troubles in Building Android Source Code
Some Troubles or problems you may encounter while you setup the Android source code build environmen ...
- vector list map 遍历删除指定元素
#include <stdio.h> #include <stdint.h> #include <vector> #include <list> #in ...
- Linux 常见安全检查方法
Linux 常见安全检查方法进行概要说明: 一.检查系统密码文件,查看文件修改日期 # ls -l /etc/passwd 二.查看 passwd 文件中有哪些特权用户 # awk -F: '$3= ...
- Android学习(十六) 通过GestureDetector进行手势识别
一.手势交互过程: 1)触屏时,触发MotionEvent事件. 2)被OnTouchListener监听,在onTouch()中获得MotionEvent对象. 3)GestureDetector转 ...
- java中不能用小数点(.)来做分隔符
split()括号里是一个String的参数,所以一定要符合这种:split(".")形式,即点'.'要用双引号""括起来"."在java中 ...
- [DevExpress]TreeListLookUpEdit带checkbox之经典运用
上代码: public partial class TreeListLookUpEdit : DevExpress.XtraEditors.XtraForm { private string _Key ...
- 用VS2010创建三层架构开发模式及三层架构的研究
三层架构的研究 三层体系结构的概念 用户界面表示层(USL) 业务逻辑层(BLL) 数据访问层(DAL) BLL将USL与DAL隔开了,并且加入了业务规则 各层的作用 1:数据数据访问层:主要是对 ...
- Laravel5.4使用Memcached缓存
修改默认的缓存驱动 Laravel默认的缓存驱动是file,想要切换为Memcached需要修改.env文件.把CACHE_DRIVER=file改为CACHE_DRIVER=memcached,改好 ...
- Python基础之模块2
如何导入多个模块? import re #单行导入多个模块 '''多行导入多个模块''' import re import sys import os 如何给模块起别名? import my_modu ...
- 还在用系统自带的?那你那就OUT了!
相信如今的APP10个里面有九个是有Tabbar的,可是非常多人甚是非常多公司都在用系统自带的tabbar.当然这也不是不能够,并且项目中就那几行代码.效果又一样. 可是,别忘了另一个可是.然并卵.这 ...