史上最全的PHP正則表達(dá)式
首先看下正則表達(dá)式思維導(dǎo)圖:
**一、校驗(yàn)數(shù)字的表達(dá)式 **
1 數(shù)字:
^[0-9]
3 至少n位的數(shù)字:
^\d{n,}
5 零和非零開(kāi)頭的數(shù)字:
^(0|[1-9][0-9])
7 帶1-2位小數(shù)的正數(shù)或負(fù)數(shù):
^(-)?\d+(.\d{1,2})?
9 有兩位小數(shù)的正實(shí)數(shù):
^[0-9]+(.[0-9]{2})?
11 非零的正整數(shù):
^[1-9]\d 或 ^+?[1-9][0-9]
或 ^-[1-9]\d
或 ^[1-9]\d|0
或 ^((-\d+)|(0+))
或 ^[1-9]\d.\d|0.\d[1-9]\d|0?.0+|0
或 ^(-([1-9]\d.\d|0.\d[1-9]\d))|0?.0+|0
或 ^(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9]))
或 ^(-(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9])))
或 ^-?([1-9]\d.\d|0.\d[1-9]\d|0?.0+|0)$
二、校驗(yàn)字符的表達(dá)式
1 漢字:
^[\u4e00-\u9fa5]{0,} 或 ^[A-Za-z0-9]{4,40}
4 由26個(gè)英文字母組成的字符串:
^[A-Za-z]+
6 由26個(gè)小寫英文字母組成的字符串:
^[a-z]+
8 由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串:
^\w+
9 中文醉锅、英文赦颇、數(shù)字包括下劃線:
^[\u4E00-\u9FA5A-Za-z0-9_]+ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}
"等字符:
[^%&',;=?$\x22]+
12 禁止輸入含有~的字符:
[^~\x22]+
三、特殊需求表達(dá)式
1骨宠、 Email地址:
^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)
4 层亿、手機(jī)號(hào)碼:
^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}
6 國(guó)內(nèi)電話號(hào)碼(0511-4405222碌更、021-87888822):
\d{3}-\d{8}|\d{4}-\d{7}
7 裕偿、身份證號(hào):
15或18位身份證:
^\d{15}|\d{18}
18位身份證:
^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}
或
^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?
10 蔫巩、密碼(以字母開(kāi)頭谆棱,長(zhǎng)度在6~18之間,只能包含字母圆仔、數(shù)字和下劃線):
^[a-zA-Z]\w{5,17}
12个从、 日期格式:
^\d{4}-\d{1,2}-\d{1,2}
13、 一年的12個(gè)月(01~09和1~12):
^(0?[1-9]|1[0-2])
15 嗦锐、錢的輸入格式:
16 、1.有四種錢的表示形式我們可以接受:"10000.00" 和 "10,000.00", 和沒(méi)有 "分" 的 "10000" 和 "10,000":
^[1-9][0-9]
18 奕污、3.一個(gè)0或者一個(gè)不以0開(kāi)頭的數(shù)字.我們還可以允許開(kāi)頭有一個(gè)負(fù)號(hào):
^(0|-?[1-9][0-9])
20 液走、5.必須說(shuō)明的是,小數(shù)點(diǎn)后面至少應(yīng)該有1位數(shù),所以"10."是不通過(guò)的,但是 "10" 和 "10.2" 是通過(guò)的:
^[0-9]+(.[0-9]{2})?
22、 7.這樣就允許用戶只寫一位小數(shù).下面我們?cè)摽紤]數(shù)字中的逗號(hào)了,我們可以這樣:
^[0-9]{1,3}(,[0-9]{3})(.[0-9]{1,2})?
24 嘱根、備注:這就是最終結(jié)果了,別忘了"+"可以用""替代如果你覺(jué)得空字符串也可以接受的話(奇怪,為什么?)最后,別忘了在用函數(shù)時(shí)去掉去掉那個(gè)反斜杠,一般的錯(cuò)誤都在這里
25 、xml文件:
^([a-zA-Z]+-?)+[a-zA-Z0-9]+\.[x|X][m|M][l|L]或(^\s)|(\s*$) (可以用來(lái)刪除行首行尾的空白字符(包括空格癣漆、制表符、換頁(yè)符等等)剂买,非常有用的表達(dá)式)
31 惠爽、騰訊QQ號(hào):[1-9][0-9]{4,} (騰訊QQ號(hào)從10000開(kāi)始)
32 癌蓖、中國(guó)郵政編碼:[1-9]\d{5}(?!\d) (中國(guó)郵政編碼為6位數(shù)字)
33、 IP地址:\d+.\d+.\d+.\d+ (提取IP地址時(shí)有用)