這篇文章主要介紹了修改月光博客網(wǎng)站中PHP常用正則表達(dá)式中出現(xiàn)的錯(cuò)誤,需要的朋友可以參考下
最近研究正則表達(dá)式??吹胶芏嗯笥研枰狪P地址的正則表達(dá)式,網(wǎng)上找了一下,一開(kāi)始就找到了月光博客網(wǎng)站模板上的找了半天沒(méi)有找到完整解決IP地址的正則表達(dá)式不要緊,我隨便驗(yàn)證了上面一個(gè)正則表達(dá)式結(jié)果不匹配,所以就自己寫(xiě)了一個(gè),與大家分享其中可能會(huì)出現(xiàn)很多錯(cuò)誤希望大家多多指點(diǎn),多多包涵。
很多情況下因?yàn)樾乱?guī)則的不斷出現(xiàn),就需要增加一些兼容規(guī)則。學(xué)正則表達(dá)式就是學(xué)的思路,拿來(lái)主義者不好。
1. $reg='/[\x-\x]+/u';//驗(yàn)證是否為中文字符
2. $reg='/\n\s*\r/';//驗(yàn)證是否為空白行
這里肯定會(huì)有很多人不知道空白行是什么意思我這里就操作一下,如下
代碼如下:
<?php
$str="";
$reg='/\n\s*\r/';
if(preg_match($reg,$str)){
echo"通過(guò)空白行驗(yàn)證";
}else{
echo"沒(méi)有通過(guò)空白行驗(yàn)證";
}
?>
這樣就可以解決一些代碼冗余
3. $reg='/<[\/]?\w+>/is';//驗(yàn)證HTML開(kāi)始和結(jié)束標(biāo)記
4. $reg='/^[\s*]|[\s*]$/';//匹配首尾空白字符的正則表達(dá)式(以空白字符開(kāi)始或者以他結(jié)尾)
5. $reg='/^0\d{2,3}-[1-9]\d{6,7}$/';//匹配國(guó)內(nèi)電話地址的正則表達(dá)式:
6. $reg='/^[1-9][0-9]{4,}$/';//匹配騰訊QQ號(hào)
7. $reg='/^\d$/';//中國(guó)大陸郵政編碼
8. $reg='/^[1-9]\d$/';//中國(guó)大陸15位的身份證
$reg='/^[1-9]\d(\d|x|y)$/';//中國(guó)大陸18位的身份證包括后面的字母
9. $reg='/^(25[0-5]|2[0-4][0-9]|[0-1][0-9]|[1-9][0-9]|[1-9])\. (25[0-5]|2[0-4][0-9]|[0-1][0-9]|[1-9][0-9]|[1-9]|0)\.(25[0-5]|2[0-4] [0-9]|[0-1][0-9]|[1-9][0-9]|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]| [1-9][0-9]|[0-9])$/';//驗(yàn)證IP
這里我也解釋下如下:
IP分為5類(lèi):
A類(lèi) 1.0.0.0~126.0.0.0
B類(lèi) 128.0.0.0~191.255.255.255
C類(lèi) 192.0.0.0~223.255.255.255
D類(lèi) 224.0.0.0~239.255.255.255
E類(lèi) 240.0.0.0~255.255.255.255
先解釋(25[0-5]|2[0-4][0-9]|[0-1][0-9]|[1-9][0-9]|[1-9])是什么意思。我們先把IP拆開(kāi)分為4 節(jié)就容易懂些了。第一節(jié),250~255或200~249或100~199或10~99或1~9是不是很清晰,第一節(jié)不能為0.后面的就可以以此類(lèi)推了
10. $reg='/^[1-9][0-9]*$/';//匹配正整數(shù)
11. $reg='/^-[1-9][0-9]*$/';//匹配負(fù)整數(shù)
12. $reg='/^-?(0|([1-9]\d*))$/';//匹配整數(shù)(這里要注意小括號(hào)的運(yùn)用)
13. $reg='/^([1-9]\d*\.\d*)|(0\.\d*)$/';//匹配正浮點(diǎn)數(shù)
14. $reg='/^(0|([1-9]\d*[0|2|4|6|8]))$/';//匹配偶數(shù)
15. $reg='/^[A-Za-z0-9]\w{5,17}@[A-Za-z0-9]([A-Z]|[a-z]|[0-9]|_)+(\.[A-Za-z]{2,6}){1,2}$/';//匹配Email地址的正則表達(dá)式:
16. $reg='/^[A-Za-z]\w{5,19}$/';//匹配用戶名必須以字母開(kāi)頭,由字母、數(shù)字、下劃線組成,長(zhǎng)度為6~20
本文純屬個(gè)人觀點(diǎn)絕無(wú)針對(duì),如有不對(duì)之處請(qǐng)諒解請(qǐng)指正
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄