以下就是對(duì)超常用的PHP正則表達(dá)式進(jìn)行的收集整理,為了方便大家更快更好的掌握php正則表達(dá)式。
一、表單驗(yàn)證匹配
驗(yàn)證賬號(hào),字母開(kāi)頭,允許 5-16 字節(jié),允許字母數(shù)字下劃線:^[a-zA-Z][a-zA-Z0-9_]{4,15}$
驗(yàn)證賬號(hào),不能為空,不能有空格,只能是英文字母:^S+[a-z A-Z]$
驗(yàn)證賬號(hào),不能有空格,不能非數(shù)字:^d+$
驗(yàn)證用戶密碼,以字母開(kāi)頭,長(zhǎng)度在 6-18 之間:^[a-zA-Z]w{5,17}$
驗(yàn)證是否含有 ^%&’,;=?$ 等字符:[^%&’,;=?$x22]+
匹配Email地址:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配騰訊QQ號(hào):[1-9][0-9]{4,}
匹配日期,只能是 2004-10-22 格式:^d{4}-d{1,2}-d{1,2}$
匹配國(guó)內(nèi)電話號(hào)碼:^d{3}-d{8}|d{4}-d{7,8}$————評(píng)注:匹配形式如010-12345678 或0571-12345678 或 0831-1234567
匹配中國(guó)郵政編碼:^[1-9]d{5}(?!d)$
匹配身份證:d{14}(d{4}|(d{3}[xX])|d{1})————評(píng)注:中國(guó)的身份證為15 位或18 位
不能為空且二十字節(jié)以上:^[s|S]{20,}$
二、字符匹配
匹配由 26 個(gè)英文字母組成的字符串:^[A-Za-z]+$
匹配由 26 個(gè)大寫英文字母組成的字符串:^[A-Z]+$
匹配由 26 個(gè)小寫英文字母組成的字符串:^[a-z]+$
匹配由數(shù)字和 26 個(gè)英文字母組成的字符串:^[A-Za-z0-9]+$
匹配由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串:^w+$
匹配空行:n[s| ]*r
匹配任何內(nèi)容:[sS]*
匹配中文字符:[x80-xff]+ 或者 [xa1-xff]+
只能輸入漢字:^[x80-xff],{0,}$
匹配雙字節(jié)字符(包括漢字在內(nèi)):[^x00-xff]
三、匹配數(shù)字
只能輸入數(shù)字:^[0-9]*$
只能輸入n位的數(shù)字:^d{n}$
只能輸入至少n位數(shù)字:^d{n,}$
只能輸入m-n位的數(shù)字:^d{m,n}$
匹配正整數(shù):^[1-9]d*$
匹配負(fù)整數(shù):^-[1-9]d*$
匹配整數(shù):^-?[1-9]d*$
匹配非負(fù)整數(shù)(正整數(shù) + 0):^[1-9]d*|0$
匹配非正整數(shù)(負(fù)整數(shù) + 0):^-[1-9]d*|0$
匹配正浮點(diǎn)數(shù):^[1-9]d*.d*|0.d*[1-9]d*$
匹配負(fù)浮點(diǎn)數(shù):^-([1-9]d*.d*|0.d*[1-9]d*)$
匹配浮點(diǎn)數(shù):^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$
匹配非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0):^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$
匹配非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0):^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$
四、其他
匹配HTML標(biāo)記的正則表達(dá)式(無(wú)法匹配嵌套標(biāo)簽):<(S*?)[^>]*>.*?</1>|<.*? />
匹配網(wǎng)址 URL :[a-zA-z]+://[^s]*
匹配 IP 地址:((25[0-5]|2[0-4]d|[01]?dd?).){3}(25[0-5]|2[0-4]d|[01]?dd?)
匹配完整域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?
提示
上述正則表達(dá)式通常都加了 ^ 與 $ 來(lái)限定字符的起始和結(jié)束,如果需要匹配的內(nèi)容包括在字符串當(dāng)中,可能需要考慮去掉 ^ 和 $ 限定符。
以上正則表達(dá)式僅供參考,使用時(shí)請(qǐng)檢驗(yàn)后再使用,希望通過(guò)這些超常用的PHP正則表達(dá)式