php email邮箱正则


Posted in PHP onOctober 08, 2008

1.验证email:

< ?php 
 if (ereg("/^[a-z]([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i; ",$email)){ 
echo “Your email address is correct!”;} 
 else{ 
echo "Please try again!"; 
} 
?>

$str = '';
$isMatched = preg_match('/^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}$/', $str, $matches);
var_dump($isMatched, $matches);

匹配Email邮箱格式的正则表达式:

/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i;

解析:
/内容/i 构成一个不区分大小写的正则表达式;
^ 匹配开始
$ 匹配结束
[a-z] E-Mail前缀必需是一个英文字母开头

([a-z0-9]*[-_]?[a-z0-9]+)* 和_a_2、aaa11、_1_a_2匹配,和a1_、aaff_33a_、a__aa不匹配,如果是空字符,也是匹配的,*表示0个或者多个。
*表示0个或多个前面的字符.
[a-z0-9]* 匹配0个或多个英文字母或者数字
[-_]? 匹配0个或1“-”,因为“-”不能连续出现
[a-z0-9]+ 匹配1个或多个英文字母或者数字,因为“-”不能做为结尾

@ 必需有个有@
([a-z0-9]*[-_]?[a-z0-9]+)+ 见上面([a-z0-9]*[-_]?[a-z0-9]+)*解释,但是不能为空,+表示一个或者为多个。
[\.] 将特殊字符(.)当成普通字符
[a-z]{2,3} 匹配2个至3个英文字母,一般为com或者net等.
([\.][a-z]{2})? 匹配0个或者1个[\.][a-z]{2}(比如.cn等) 不知道一般.com.cn最后部份是不是都是两位的,如果不是请修改{2}为{起始字数,结束字数}

这个用于匹配邮箱的正则表达式,还是比较强的,功能强大,覆盖广泛,有用到的朋友收藏下吧。

国际域名格式如下:

域名由各国文字的特定字符集、英文字母、数字及“-”(即连字符或减号)任意组合而成, 但开头及结尾均不能含有“-”,“-”不能连续出现 。 域名中字母不分大小写。域名最长可达60个字节(包括后缀.com、.net、.org等)。
/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i;
/内容/i 构成一个不区分大小写的正则表达式;
^ 匹配开始
$ 匹配结束
[a-z] E-Mail前缀必需是一个英文字母开头
([a-z0-9]*[-_]?[a-z0-9]+)* 和_a_2、aaa11、_1_a_2匹配,和a1_、aaff_33a_、a__aa不匹配,如果是空字符,也是匹配的,*表示0个或者多个。
*表示0个或多个前面的字符.
[a-z0-9]* 匹配0个或多个英文字母或者数字
[-_]? 匹配0个或1“-”,因为“-”不能连续出现
[a-z0-9]+ 匹配1个或多个英文字母或者数字,因为“-”不能做为结尾
@ 必需有个有@
([a-z0-9]*[-_]?[a-z0-9]+)+ 见上面([a-z0-9]*[-_]?[a-z0-9]+)*解释,但是不能为空,+表示一个或者为多个。
[\.] 将特殊字符(.)当成普通字符
[a-z]{2,3} 匹配2个至3个英文字母,一般为com或者net等.
([\.][a-z]{2})? 匹配0个或者1个[\.][a-z]{2}(比如.cn等) 我不知道一般.com.cn最后部份是不是都是两位的,如果不是请修改{2}为{起始字数,结束字数}
完美E-Mail正则表达式,附详细讲解,请大家帮忙测试一下! 2.抽取字符串中的email:

<?php 
function getEmail($str) { 
$pattern = "/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i"; 
preg_match_all($pattern,$str,$emailArr); 
return $emailArr[0]; 
} 
$emailstr = "9999@qq.com.cn俺不是米vi地方就开iid邮件列表:fuyongjie@163.com 和hh@qq.com;.;;,fuyongjie.100@yahoo.com,fu-1999@sina.com"; 
$emailArr = getEmail($emailstr); 
echo "<pre>"; 
print_r($emailArr); 
echo "</pre>"; 
?>

打印如下:
Array
(
[0] => 9999@qq.com.cn
[1] => fuyongjie@163.com
[2] => hh@qq.com
[3] => fuyongjie.100@yahoo.com
[4] => fu-1999@sina.com
)
3.比较:第2里的正则里没有了第1的^和$;

PHP 相关文章推荐
PHP无敌近乎加密方式!
Jul 17 PHP
PHP得到mssql的存储过程的输出参数功能实现
Nov 23 PHP
php获取目录所有文件并将结果保存到数组(实例)
Oct 25 PHP
基于php和mysql的简单的dao类实现crud操作功能
Jan 27 PHP
PHP include任意文件或URL介绍
Apr 29 PHP
thinkphp3.2点击刷新生成验证码
Feb 16 PHP
Laravel5中Cookie的使用详解
May 03 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
Laravel用户授权系统的使用方法示例
Sep 16 PHP
PHP中__set()实例用法和基础讲解
Jul 23 PHP
PHP+MySQL实现在线测试答题实例
Jan 02 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 PHP
php获取地址栏信息的代码
Oct 08 #PHP
Cannot modify header information错误解决方法
Oct 08 #PHP
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 #PHP
php 友好URL的实现(吐血推荐)
Oct 04 #PHP
PHP注释实例技巧
Oct 03 #PHP
使用eAccelerator加密PHP程序
Oct 03 #PHP
一些使用频率比较高的php函数
Oct 03 #PHP
You might like
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
PHP数据类型的总结分析
2013/06/13 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
thinkphp5框架路由原理与用法详解
2020/02/11 PHP
PHP 对象继承原理与简单用法示例
2020/04/21 PHP
LBS blog sql注射漏洞[All version]-官方已有补丁
2007/08/26 Javascript
jQuery MD5加密实现代码
2010/03/15 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
2015/01/23 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
JavaScript实现的简单拖拽效果
2015/06/01 Javascript
JavaScript基本语法讲解
2015/06/03 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
jquery实现的V字形显示效果代码
2015/10/27 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
js获取浏览器的各种属性
2017/04/27 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
JavaScript对象原型链原理解析
2020/01/22 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
Vuex实现简单购物车
2021/01/10 Vue.js
Python的Urllib库的基本使用教程
2015/04/30 Python
python rsa 加密解密
2017/03/20 Python
谈谈python中GUI的选择
2018/03/01 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
opencv resize图片为正方形尺寸的实现方法
2019/12/26 Python
python如何使用Redis构建分布式锁
2020/01/16 Python
西班牙在线宠物商店:zooplus.es
2017/02/24 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
服装采购员岗位职责
2014/03/15 职场文书
贺卡寄语大全
2014/04/11 职场文书
信仰心得体会
2014/09/05 职场文书
深入理解Pytorch微调torchvision模型
2021/11/11 Python
如何vue使用el-table遍历循环表头和表体数据
2022/04/26 Vue.js