国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Regex > 正文

PHP 正則 email語句詳解

2020-03-16 21:19:07
字體:
來源:轉載
供稿:網友
PHP正則校驗email的代碼相信好好學過PHP的人都應該知道下面這段用于eamil校驗的語句,但是真正能看懂的就不多了:
 
 
復制代碼代碼如下:

<?php   
if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$email)) {   
echo "您的 E-Mail 通過初步檢查";   
}   
?>   

在這句話里,首先是應用了一個eregi函數,這個函數還算好理解。隨便找本書,就能給你一段解釋:  
語法: int ereg(string pattern, string string, array [regs]);  
返回值: 整數/數組  
本函數以 pattern 的規則來解析比對字符串 string。  
比對結果返回的值放在數組參數 regs 之中,regs[0] 內容就是原字符串 string、regs[1] 為第一個合乎規則的字符串、regs[2] 就是第二個合乎規則的字符串,余類推。若省略參數 regs,則只是單純地比對,找到則返回值為 true。  



而不太好理解的就是前面的這段正則表達式了:^[_.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}$)” php程序員之家  
很繁雜是吧,對了,正因為這樣,人們才使用正則表達式。  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 任丘市| 陆河县| 台前县| 隆化县| 新河县| 旅游| 景东| 太白县| 涟源市| 榆社县| 疏勒县| 津市市| 扎兰屯市| 新绛县| 盐山县| 克什克腾旗| 呼和浩特市| 枣阳市| 芷江| 凌云县| 武义县| 江阴市| 扶余县| 苗栗市| 同心县| 九江市| 九龙县| 兴化市| 亳州市| 临海市| 张掖市| 高雄市| 南平市| 望奎县| 宜州市| 胶州市| 郸城县| 长海县| 江津市| 云霄县| 邹城市|