一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php中郵箱地址正則表達式實現與詳解

php中郵箱地址正則表達式實現與詳解

2019-12-30 15:59PHP教程網 PHP教程

本文章不但要講述了關于正則達式而且還講述了關于郵箱正則的構成用法詳解,有需要了解的朋友可以參考一下,同時我們也提供了多種不同的郵箱驗證實例

首先附上代碼 

復制代碼代碼如下:


^[_.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}$)” 

復制代碼代碼如下:


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 構成一個不區分大小寫的正則表達式; 
^ 匹配開始 

$ 匹配結束 

[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 = "[email protected]俺不是米vi地方就開iid郵件列表:[email protected][email protected];.;;,[email protected],[email protected]"; 
$emailArr = getEmail($emailstr); 
echo "<pre>"; 
print_r($emailArr); 
echo "</pre>"; 
?>打印如下: 
Array 

[0] =>[email protected] 
[1] =>[email protected] 
[2] =>[email protected] 
[3] =>[email protected] 
[4] =>[email protected] 
)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="[email protected]"; 
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!"; 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 无套大战白嫩乌克兰美女 | 青春草视频免费观看 | 亲爱的客栈第二季免费观看完整版 | 欧美艳星kagney1ynn | 国产精品久久久久久久久免费 | 男人的天堂日本 | 99视频免费在线 | 性关系视频网站 | 精品国产麻豆AV无码 | 国产福利资源 | 4455在线 | 美琪美腿白丝交小说 | 日韩欧美推理片免费看完整版 | 日韩成人免费 | 国产成人精品一区二三区2022 | 无颜之月5集全免费看无删除 | 亚洲无毛片 | 午夜精品久久久久久久99蜜桃 | 久久久无码精品亚洲A片软件 | 99久久伊人一区二区yy5099 | 恩爱夫妇交换小说 | 成人国产第一区在线观看 | 日本五级床片全都免费播放 | 欧美xingai| 国产一成人精品福利网站 | 亚洲精品一区二区观看 | 欧美日韩免费一区二区在线观看 | 国产精品亚洲片夜色在线 | 国产精品亚洲片在线va | 欧美男男xxx激情做受 | 被强迫调教的高辣小说 | 日本色女 | 手机在线观看精品国产片 | 国偷盗摄自产福利一区在线 | 天天插伊人 | 69日本人 | 久久毛片免费看一区二区三区 | 久久精品黄AA片一区二区三区 | 苍井空50分钟无码 | 日韩一级片在线观看 | 亚洲熟区 |