常用正規表示式總結

2021-07-11 05:33:36 字數 4179 閱讀 1749

1、數字相關的正規表示式

1)數字:

^[0-9]*$

2)n位定長的數字:

^\d$

3)m-n

位之間的數字:

^\d$

4)零和非零開頭的數字:

^(0|[1-9][0-9]*)$

5)非零開頭的最多帶兩位小數的數字:

^([1-9][0-9]*)+(.[0-9])?$

6)帶1-2

位小數的正數或負數:

^(\-)?\d+(\.\d)?$

7)正數、負數、和小數:

^(\-|\+)?\d+(\.\d+)?$

8)有兩位小數的正實數:

^[0-9]+(.[0-9])?$

9)有1~3

位小數的正實數:

^[0-9]+(.[0-9])?$

10)正整數:

^\d+$

或^[1-9]\d*|0$

11)負整數:

^-[1-9]\d*|0$

或^((-\d+)|(0+))$

12)正浮點數:

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$

或^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

13)負浮點數:

^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$

或^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$

14)浮點數:

^(-?\d+)(\.\d+)?$

或^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

2、字元相關的正規表示式

1)漢字:

^[\u4e00-\u9fa5]$

2)長度為

3-20

的所有字元:

^.$3)由數字和

26個英文本母組成的字串:

^[a-za-z0-9]+$

4)由數字、

26個英文本母或者下劃線組成的字串:

^\w+$

或^\w$

5)中文、英文、數字包括下劃線:

^[\u4e00-\u9fa5a-za-z0-9_]+$

6)中文、英文、數字但不包括下劃線等符號:

^[\u4e00-\u9fa5a-za-z0-9]+$

或^[\u4e00-\u9fa5a-za-z0-9]$

7)帳號是否合法

(字母開頭,允許

5-16

位元組,允許字母數字下劃線):

^[a-za-z][a-za-z0-9_]$

8)密碼

(以字母開頭,長度在

6~18

之間,只能包含字母、數字和下劃線):

^[a-za-z]\w$

9)強密碼

(必須包含大小寫字母和數字的組合,不能使用特殊字元,長度在

8-10之間)

:^(?=.*\d)(?=.*[a-z])(?=.*[a-z]).$

3、固定格式約定俗成的正規表示式

4)手機號碼:

^(13[0-9]|17[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$

5)**號碼

(「***-******x」

、」***x-******xx」

、」***-******x」

、」***-******xx」

、」******x」

和」******xx)

:^(\(\d-)|\d-)?\d$

6)國內**號碼

(0511-4405222

、021-87888822)

:\d-\d|\d-\d

7)身份證號

(15位、

18位數字):

^\d|\d$

8)日期格式:

^\d-\d-\d

9)一年的

12個月

(01~09和

1~12):

^(0?[1-9]|1[0-2])$

10)乙個月的31天

(01~09和

1~31):

^((0?[1-9])|((1|2)[0-9])|30|31)$

qq號:

[1-9][0-9](

qq號從

10000

開始,目前最長為10位

)[1-9]\d(?!\d)(

6位數字

)13)ip

\d+\.\d+\.\d+\.\d+(

提取ip

位址時有用

)14)ip

((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.)(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))

15)xml

檔案:^([a-za-z]+-?)+[a-za-z0-9]+\\.[x|x][m|m][l|l]$

16)中文字元的正規表示式:

[\u4e00-\u9fa5]

17)雙位元組字元:

[^\x00-\xff] (

包括漢字在內,可以用來計算字串的長度

(乙個雙位元組字元長度計2,

ascii

字元計1))

18)空白行的正規表示式:

\n\s*\r (

可以用來刪除空白行

)19)html

標記的正規表示式:

<(\s*?)[^>]*>.*?|<.*? /> 

20)首尾空白字元的正規表示式:

^\s*|\s*$

或(^\s*)|(\s*$)(

可以用來刪除行首行尾的空白字元

(包括空格、製表符、換頁符等等

),非常有用的表示式)4

、錢的輸入格式

1)有四種錢的表示形式我們可以接受

:」10000.00″

和「10,000.00″,

和沒有「分」

的「10000″

和「10,000″

:^[1-9][0-9]*$

2)這表示任意乙個不以

0開頭的數字,但是,這也意味著乙個字元

」0″不通過,所以我們採用下面的形式:

^(0|[1-9][0-9]*)$

3)乙個

0或者乙個不以

0開頭的數字

.我們還可以允許開頭有乙個負號:

^(0|-?[1-9][0-9]*)$

4)這表示乙個

0或者乙個可能為負的開頭不為

0的數字

.讓使用者以

0開頭好了

.把負號的也去掉,因為錢總不能是負的吧

.下面我們要加的是說明可能的小數部分:

^[0-9]+(.[0-9]+)?$

5)必須說明的是,小數點後面至少應該有

1位數,所以

」10.」

是不通過的,但是

「10″

和「10.2″

是通過的:

^[0-9]+(.[0-9])?$

6)這樣我們規定小數點後面必須有兩位,如果你認為太苛刻了,可以這樣:

^[0-9]+(.[0-9])?$

7)這樣就允許使用者只寫一位小數。下面我們該考慮數字中的逗號了,我們可以這樣:

^[0-9](,[0-9])*(.[0-9])?$8)1

到3個數字,後面跟著任意個

逗號+3

個數字,逗號成為可選,而不是必須:

^([0-9]+|[0-9](,[0-9])*)(.[0-9])?$

9)備註:這就是最終結果了,別忘了

」+」可以用

」*」替代。如果你覺得空字串也可以接受的話

(奇怪,為什麼

?)最後,別忘了在用函式時去掉去掉那個反斜槓,一般的錯誤都在這裡

常用正規表示式總結

只能輸入數字 0 9 只能輸入 n 位的數字 d 只能輸入至少 n 位的數字 d 只能輸入 m n 位的數字 d 只能輸入零和非零開頭的數字 0 1 9 0 9 只能輸入有兩位小數的正實數 0 9 0 9 只能輸入有 1 3 位小數的正實數 0 9 0 9 只能輸入非零的正整數 1 9 0 9 只能...

常用正規表示式總結

1.只允許輸入漢字和逗字,並且開頭和結尾不能是逗號,u4e00 u9fa5 u4e00 u9fa5 u4e00 u9fa5 u4e00 u9fa5 2.查詢所有的藥名 用量 單位 src s s 2.src s s 7.使用正規表示式匹配url中的網域名稱 http 會匹配 http msnbc t...

常用正規表示式 總結

正規表示式用於字串處理 表單驗證等場合,實用高效。現將一些常用的表示式收集於此,以備不時之需。常用的第三方正則庫 匹配中文字元的正規表示式 u4e00 u9fa5 評注 匹配中文還真是個頭疼的事,有了這個表示式就好辦了 匹配雙位元組字元 包括漢字在內 x00 xff 評注 可以用來計算字串的長度 乙...