PHP 正則 email語句詳解
更新時(shí)間:2009年10月12日 15:01:45 作者:
PHP正則校驗(yàn)email的代碼相信好好學(xué)過PHP的人都應(yīng)該知道下面這段用于eamil校驗(yàn)的語句,但是真正能看懂的就不多了。
復(fù)制代碼 代碼如下:
<?php
if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$email)) {
echo "您的 E-Mail 通過初步檢查";
}
?>
在這句話里,首先是應(yīng)用了一個(gè)eregi函數(shù),這個(gè)函數(shù)還算好理解。隨便找本書,就能給你一段解釋:
語法: int ereg(string pattern, string string, array [regs]);
返回值: 整數(shù)/數(shù)組
本函數(shù)以 pattern 的規(guī)則來解析比對(duì)字符串 string。
比對(duì)結(jié)果返回的值放在數(shù)組參數(shù) regs 之中,regs[0] 內(nèi)容就是原字符串 string、regs[1] 為第一個(gè)合乎規(guī)則的字符串、regs[2] 就是第二個(gè)合乎規(guī)則的字符串,余類推。若省略參數(shù) regs,則只是單純地比對(duì),找到則返回值為 true。
而不太好理解的就是前面的這段正則表達(dá)式了:^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$
在這段正則表達(dá)式中,“+”表示前面的字符串連續(xù)出現(xiàn)一個(gè)或多個(gè);“^”表示下一個(gè)字符串必須出現(xiàn)在開頭,“$”表示前一個(gè)字符串必須出現(xiàn)在結(jié)尾;
“.”也就是“.”,這里“”是轉(zhuǎn)義符;“{2,3}”表示前面的字符串可以連續(xù)出現(xiàn)2-3次?!?)”表示包含的內(nèi)容必須同時(shí)出現(xiàn)在目標(biāo)對(duì)象中?!癧_.0-9a-z-]”表示包含在“_”、“.”、“-”、從a到z范圍內(nèi)的字母、從0到9范圍內(nèi)的數(shù)字中的任意字符;
這樣一來,這個(gè)正則表達(dá)式可以這樣翻譯:
“下面的字符必須在開頭(^)”、“該字符必須包含在“_”、“.”、“-”、從a到z范圍內(nèi)的字母、從0到9范圍內(nèi)的數(shù)字中([_.0-9a-z-])”、“前面這個(gè)字符至少出現(xiàn)一次(+)”、@、“該字符串由一個(gè)包含在從a到z范圍內(nèi)的一個(gè)字母、從0到9范圍內(nèi)的數(shù)字中的字符開頭,后面跟至少一個(gè)包含在“-”、從a到z范圍內(nèi)任何一個(gè)字母、從0到9范圍內(nèi)任何一個(gè)數(shù)字中的字符,最后以.結(jié)束(([0-9a-z][0-9a-z-]+.))”、“前面這個(gè)字符至少出現(xiàn)一次(+)”、“從a到z范圍內(nèi)的字母出現(xiàn)2-3次,并以它結(jié)束([a-z]{2,3}$)”
很繁雜是吧,對(duì)了,正因?yàn)檫@樣,人們才使用正則表達(dá)式。
相關(guān)文章
javascript中使用正則表達(dá)式實(shí)現(xiàn)刪除字符串中的前后空格
在前臺(tái)應(yīng)用進(jìn)我們經(jīng)常會(huì)碰到要?jiǎng)h除用戶輸入的字符中的空格的問題,下面我們來介紹一下javascript中使用正則表達(dá)式實(shí)現(xiàn)刪除字符串中的空格方法2012-09-09正則表達(dá)式匹配括號(hào)外的符號(hào)及數(shù)據(jù)
這篇文章主要介紹了正則表達(dá)式匹配括號(hào)外的符號(hào)及數(shù)據(jù),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06淺析lastIndex對(duì)正則表達(dá)式結(jié)果的影響
js中正則表達(dá)式的使用方式有兩種,一種是正則表達(dá)式對(duì)象的方法,一種是字符串對(duì)象的方法。下面通過本文給大家分享lastIndex對(duì)正則表達(dá)式結(jié)果的影響,需要的朋友參考下吧2017-11-11JavaScript RegExp 正則表達(dá)式對(duì)象詳細(xì)說明
RegExp 對(duì)象表示正則表達(dá)式,它是對(duì)字符串執(zhí)行模式匹配的強(qiáng)大工具。2010-12-12在nest.js中通過正則表達(dá)式正確設(shè)置驗(yàn)證的方法
這篇文章主要介紹了在nest.js中通過正則表達(dá)式正確設(shè)置驗(yàn)證的方法,文末給大家補(bǔ)充介紹了js正則表達(dá)式驗(yàn)證大全,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒借鑒價(jià)值,需要的朋友可以參考下2022-03-03