經常使用正則表達式整理(大全)

http://blog.csdn.net/hebbely/...
http://www.cnblogs.com/hustsk...html

驗證數字:^[0-9]*$ 正則表達式

驗證n位的數字:^d{n}$ 函數

驗證至少n位數字:^d{n,}$ 編碼

驗證m-n位的數字:^d{m,n}$ .net

驗證零和非零開頭的數字:^(0|1-9*)$ xml

驗證有兩位小數的正實數:^[0-9]+(.[0-9]{2})?$ htm

驗證有1-3位小數的正實數:^[0-9]+(.[0-9]{1,3})?$ blog

驗證非零的正整數:^+?1-9*$ 字符串

驗證非零的負整數:^-1-9*$ get

驗證非負整數(正整數 + 0) ^d+$

驗證非正整數(負整數 + 0) ^((-d+)|(0+))$

驗證長度爲3的字符:^.{3}$

驗證由26個英文字母組成的字符串:^[A-Za-z]+$

驗證由26個大寫英文字母組成的字符串:^[A-Z]+$

驗證由26個小寫英文字母組成的字符串:^[a-z]+$

驗證由數字和26個英文字母組成的字符串:^[A-Za-z0-9]+$

驗證由數字、26個英文字母或者下劃線組成的字符串:^w+$

驗證用戶密碼:^[a-zA-Z]w{5,17}$ 正確格式爲:以字母開頭,長度在6-18之間,只能包含字符、數字和下劃線。

驗證是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$x22]+

驗證漢字:^[u4e00-u9fa5],{0,}$

驗證Email地址:/^([a-zA-Z0-9]+[_|_|.]?)[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)[a-zA-Z0-9]+.[a-zA-Z]{2,3}$/

驗證InternetURL:^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$

驗證電話號碼:^((d{3,4})|d{3,4}-)?d{7,8}$:--正確格式爲:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。

驗證身份證號(15位或18位數字):^d{15}|d{}18$

驗證一年的12個月:^(0?[1-9]|1[0-2])$ 正確格式爲:「01」-「09」和「1」「12」

驗證一個月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正確格式爲:0一、09和一、31。

整數:^-?d+$

非負浮點數(正浮點數 + 0):^d+(.d+)?$

正浮點數 ^(([0-9]+.[0-9]1-9)|([0-9]1-9.[0-9]+)|([0-9]1-9))$

非正浮點數(負浮點數 + 0) ^((-d+(.d+)?)|(0+(.0+)?))$

負浮點數 ^(-(([0-9]+.[0-9]1-9)|([0-9]1-9.[0-9]+)|([0-9]1-9)))$

浮點數 ^(-?d+)(.d+)?$

0-10 的整數或包含一位小數的正則表達式 ^(d|10)(.d)?$

漢字:^[u4e00-u9fa5]{0,}$

英文和數字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$

長度爲3-20的全部字符:^.{3,20}$

由26個英文字母組成的字符串:^[A-Za-z]+$

由26個大寫英文字母組成的字符串:^[A-Z]+$

由26個小寫英文字母組成的字符串:^[a-z]+$

由數字和26個英文字母組成的字符串:^[A-Za-z0-9]+$

由數字、26個英文字母或者下劃線組成的字符串:^w+$ 或 ^\w{3,20}$

中文、英文、數字包括下劃線:^[u4E00-u9FA5A-Za-z0-9_]+$

中文、英文、數字但不包括下劃線等符號:^[u4E00-u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$

能夠輸入含有^%&',;=?$\"等字符:[^%&',;=?$x22]+

Email地址:^w+([-+.]w+)@w+([-.]w+).w+([-.]w+)*$

域名:a-zA-Z0-9{0,62}(/.a-zA-Z0-9{0,62})+/.?

InternetURL:[a-zA-z]+://1 或 ^http://([w-]+.)+[w-]+(/[w-./?%&=])?$

手機號碼:^(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}$

電話號碼("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^((d{3,4}-)|d{3.4}-)?d{7,8}$

國內電話號碼(0511-440522二、021-87888822):d{3}-d{8}|d{4}-d{7}

身份證號(15位、18位數字):^d{15}|d{18}$

短身份證號碼(數字、字母x結尾):^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$

賬號是否合法(字母開頭,容許5-16字節,容許字母數字下劃線):^a-zA-Z{4,15}$

密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線):^[a-zA-Z]w{5,17}$

強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字符,長度在8-10之間):^(?=.d)(?=.[a-z])(?=.*[A-Z]).{8,10}$

日期格式:^d{4}-d{1,2}-d{1,2}

一年的12個月(01~09和1~12):^(0?[1-9]|1[0-2])$

一個月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$

錢的輸入格式:

1.有四種錢的表示形式咱們能夠接受:"10000.00" 和 "10,000.00", 和沒有 "分" 的 "10000" 和 "10,000":^1-9*$

2.這表示任意一個不以0開頭的數字,可是,這也意味着一個字符"0"不經過,因此咱們採用下面的形式:^(0|1-9*)$

3.一個0或者一個不以0開頭的數字.咱們還能夠容許開頭有一個負號:^(0|-?1-9*)$

4.這表示一個0或者一個可能爲負的開頭不爲0的數字.讓用戶以0開頭好了.把負號的也去掉,由於錢總不能是負的吧.下面咱們要加的是說明可能的小數部分:^[0-9]+(.[0-9]+)?$

5.必須說明的是,小數點後面至少應該有1位數,因此"10."是不經過的,可是 "10" 和 "10.2" 是經過的:^[0-9]+(.[0-9]{2})?$

6.這樣咱們規定小數點後面必須有兩位,若是你認爲太苛刻了,能夠這樣:^[0-9]+(.[0-9]{1,2})?$

7.這樣就容許用戶只寫一位小數.下面咱們該考慮數字中的逗號了,咱們能夠這樣:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$

8.1到3個數字,後面跟着任意個 逗號+3個數字,逗號成爲可選,而不是必須:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$

備註:這就是最終結果了,別忘了"+"能夠用"*"替代若是你以爲空字符串也能夠接受的話(奇怪,爲何?)最後,別忘了在用函數時去掉去掉那個反斜槓,通常的錯誤都在這裏

xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\.x|X[l|L]$

中文字符的正則表達式:[u4e00-u9fa5]

雙字節字符:2 (包括漢字在內,能夠用來計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1))

空白行的正則表達式:ns*r (能夠用來刪除空白行)

HTML標記的正則表達式:<(S?)3>.?</1>|<.? /> (網上流傳的版本太糟糕,上面這個也僅僅能部分,對於複雜的嵌套標記依舊無能爲力)

首尾空白字符的正則表達式:^s|s$或(^\s*)|(\s*$) (能夠用來刪除行首行尾的空白字符(包括空格、製表符、換頁符等等),很是有用的表達式)

騰訊QQ號:1-9{4,} (騰訊QQ號從10000開始)

中國郵政編碼:[1-9]d{5}(?!d) (中國郵政編碼爲6位數字) 33 IP地址:d+.d+.d+.d+ (提取IP地址時有用)

34 IP地址:((?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d))


  1. s
  2. x00-xff
  3. >
相關文章
相關標籤/搜索