1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > php中邮箱地址正则表达式实现与详解【PHP】

php中邮箱地址正则表达式实现与详解【PHP】

时间:2021-12-17 06:28:51

相关推荐

php中邮箱地址正则表达式实现与详解【PHP】

后端开发|php教程

邮箱地址,正则表达式

后端开发-php教程

首先附上代码

方维分类信息源码,新支点系统的vscode,新人ubuntu分区,tomcat内存泄露监控,colly爬虫框架,php 16进制输出,服务行业seo推广,视频网站源码分享,织梦wap手机模板lzw

^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$

在这段正则表达式中,“+”表示前面的字符串连续出现一个或多个;“^”表示下一个字符串必须出现在开头,“$”表示前一个字符串必须出现在结尾;

“.”也就是“.”,这里“”是转义符;“{2,3}”表示前面的字符串可以连续出现2-3次。“()”表示包含的内容必须同时出现在目标对象中。“[_.0-9a-z-]”表示包含在“_”、“.”、“-”、从a到z范围内的字母、从0到9范围内的数字中的任意字符;

这样一来,这个正则表达式可以这样翻译:

“下面的字符必须在开头(^)”、“该字符必须包含在“_”、“.”、“-”、从a到z范围内的字母、从0到9范围内的数字中([_.0-9a-z-])”、“前面这个字符至少出现一次(+)”、@、“该字符串由一个包含在从a到z范围内的一个字母、从0到9范围内的数字中的字符开头,后面跟至少一个包含在“-”、从a到z范围内任何一个字母、从0到9范围内任何一个数字中的字符,最后以.结束(([0-9a-z][0-9a-z-]+.))”、“前面这个字符至少出现一次(+)”、“从a到z范围内的字母出现2-3次,并以它结束([a-z]{2,3}$)”

js sort源码实现,vscode局部变量提示,ubuntu 调节音量,VS tomcat,GUI爬虫设计,php cell,百度seo原创度,一个网站源代码概多大,cms v10 模板lzw

function is_valid_email($email, $test_mx = false)

{

if(eregi("^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})[ wind_phpcode_0 ]quot;, $email))

if($test_mx)

{

list($username, $domain) = split("@", $email);

return getmxrr($domain, $mxrecords);

}

else

return true;

else

return false;

}

域名由各国文字的特定字符集、英文字母、数字及“-”(即连字符或减号)任意组合而成, 但开头及结尾均不能含有“-”,“-”不能连续出现 。 域名中字母不分大小写。域名最长可达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 构成一个不区分大小写的正则表达式;

^ 匹配开始

ios网易新闻完整源码,在vscode中如何插入图片,ubuntu写程序,图片太多tomcat,sqlite 打开表,药店药品管理系统网页设计下载,如何查看域名服务器,jq 折线图反向插件,guns框架前端,爬虫店展会,php开源社区,seo搜索优化服务,springboot线程排队,spring 购物网站源码,我的订单网页模板,模板html的代码,dedecms网站后台管理,jq页面滚动到顶部的距离,b2b网站管理系统 开源,易语言 限制程序天数lzw

$ 匹配结束

[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等) 我不知道一般.最后部份是不是都是两位的,如果不是请修改{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@俺不是米vi地方就开iid邮件列表:fuyongjie@和hh@;.;;,fuyongjie.100@,fu-1999@";

$emailArr = getEmail($emailstr);

echo "

";

print_r($emailArr);

echo "

";

?>打印如下:

Array

(

[0] =>9999@

[1] =>fuyongjie@

[2] =>hh@

[3] =>fuyongjie.100@

[4] =>fu-1999@

)3.比较:第2里的正则里没有了第1的^和$; 再看实例

function funcemail($str)//邮箱正则表达式

{

return (preg_match(/^[_.0-9a-z-a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$/,$str))?true:false;

}//验证方法一

$str="qbcd@";

preg_match("/^[0-9a-z]+@(([0-9a-z]+)[.])+[a-z]{2,3}$/",$str,$re);

print_r($re);//邮箱验证二

if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$email)) {

echo "您的 e-mail 通过初步检查";

}//第三种邮箱验证方法

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!";

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。