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开启gzip页面压缩实例代码
Mar 11 PHP
php自定义函数之递归删除文件及目录
Aug 08 PHP
PHP生成不同颜色、不同大小的tag标签函数
Sep 23 PHP
自己写的兼容低于PHP 5.5版本的array_column()函数
Oct 24 PHP
php通过记录IP来防止表单重复提交方法分析
Dec 16 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
Sep 19 PHP
php版微信发红包接口用法示例
Sep 23 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
Jan 24 PHP
ThinkPHP实现分页功能
Apr 28 PHP
关于PHP转换超过2038年日期出错的问题解决
Jun 28 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 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从右向左/从左向右截取字符串的实现方法
2011/11/28 PHP
PHP中$this和$that指针使用实例
2015/01/06 PHP
PHP获取文件相对路径的方法
2015/02/26 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
2016/08/23 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
如何快速的呈现我们的网页的技巧整理
2007/07/01 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
2016/05/11 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
2016/08/11 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
[02:33]DOTA2亚洲邀请赛趣味视频之吐真话筒
2018/03/31 DOTA
Python深入学习之内存管理
2014/08/31 Python
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
python多个模块py文件的数据共享实例
2019/01/11 Python
python远程连接MySQL数据库
2019/04/19 Python
Python使用tkinter模块实现推箱子游戏
2019/10/08 Python
HTML5 Canvas 实现K线图的示例代码
2019/12/23 HTML / CSS
蔻驰意大利官网:COACH意大利
2019/01/16 全球购物
2019年分享net面试的经历和题目
2016/08/07 面试题
计算机专业自我鉴定
2013/10/15 职场文书
个人简历自我评价八例
2013/10/31 职场文书
社区十八大感言
2014/01/19 职场文书
蜜蜂引路教学反思
2014/02/04 职场文书
教师远程培训感言
2014/03/06 职场文书
党的群众路线教育实践活动对照检查材料(个人)
2014/09/24 职场文书
2014年幼儿园教研工作总结
2014/12/04 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
学生考试舞弊检讨书
2015/01/01 职场文书
同学聚会祝酒词
2015/08/10 职场文书
2016春节放假通知范文
2015/08/18 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS
MySQL示例讲解数据库约束以及表的设计
2022/06/16 MySQL