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