正則表達(dá)式在php中的應(yīng)用
正則表達(dá)式在web系統(tǒng)中的應(yīng)用廣泛,可以進(jìn)行數(shù)據(jù)格式檢測(cè)、替換相關(guān)文本、提取感興趣的文本內(nèi)容等。
例:驗(yàn)證字符串中E-mail地址的合怯性郵件地址格式是<用戶名@域名>,對(duì)于用戶名,除了數(shù)字和字母外,有的允許有"一"有的允許有".",也有的兩者皆可,或者允許其他的特殊字符。對(duì)此我們只能根據(jù)具體情況判斷。文中假設(shè)除字母和數(shù)字外還允許""""并且""""不能出現(xiàn)在首末位。"\"一"不能相連。域名中各段除數(shù)字和字母外只允許出現(xiàn)"一""一"且不能出現(xiàn)在首位和末位,各段用""連接.我們還可從域名得知最后一段大于一位且只有字母。根據(jù)以上內(nèi)容我們可以寫(xiě)出表達(dá)式來(lái)判斷該串是否是合訟的郵件地址。
分步解釋如下:
^:匹配開(kāi)始([a-zO-9A-Z]+[-丨\.]?)+:數(shù)字或字母大于l位"—"或""以上組合重復(fù)l次以上[a-zO-9A一Z]:用戶名以數(shù)字或字母結(jié)尾@:匹配"@"([a-zO-9A-Z]+:匹配多位數(shù)字或字母(一[a-zO-9A-Z]+)?:匹配一加多位數(shù)字或字母0次或1次\.:匹配".")+:匹配括號(hào)中內(nèi)容多次[a-zA-Zj{2,}:匹配字母2次以上$:匹配結(jié)尾把上面的各項(xiàng)組合→起,就可以匹配一個(gè)比較全面的郵件地址,正則表達(dá)式如下:
^([a-zO-9 A - Z]+[-I\.]?)+[a一zO-9A-Z]@([a-zO-9A - Z]+( -[a-zO-9 A - Z]+ )?\.)十[a-zA-Z]{2,}$實(shí)現(xiàn)匹配驗(yàn)證的php程序腳本如下:
<? php
$email="lgj@ 163. com",11要檢測(cè)的email地址if (preg_match(" I飛[a-zO-9A-Z]+[|\.]? )+[a-zO-9 A - Z]@([a-zO-9A-Z]+(-[azO-9A-Z]+)?\. )+[a-zA-Zj{2, }$I\$email)){ I I開(kāi)始檢測(cè)IJemail地址,筆耕論文新浪博客,不匹配返回Oecho"E-mail地址格式錯(cuò)誤";}
else {echo"E-mail地址格式正確";}
? >
4結(jié)語(yǔ)正則表達(dá)式語(yǔ)也簡(jiǎn)潔、功能強(qiáng)大,特別在對(duì)數(shù)據(jù)的驗(yàn)證問(wèn)題上。在日常數(shù)據(jù)處理與軟件開(kāi)發(fā)中,正則表達(dá)式已成為不可缺少的工具,相信隨著web網(wǎng)的發(fā)展,正則表達(dá)式的應(yīng)用會(huì)越來(lái)越強(qiáng)大越來(lái)越易使用。
本文由整理發(fā)布,轉(zhuǎn)載請(qǐng)注明出處!
本文編號(hào):5635
本文鏈接:http://www.wukwdryxk.cn/qitalunwen/5635.html