史上最全的PHP正規表示式

2022-07-20 07:33:13 字數 1911 閱讀 9116

首先看下正規表示式思維導圖:

一、校驗數字的表示式

1 數字:

^[0-9]*$

2 n位的數字:

^\d$

3 至少n位的數字:

^\d$

4 m-n位的數字:

^\d$

5 零和非零開頭的數字:

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

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

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

7 帶1-2位小數的正數或負數:

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

8 正數、負數、和小數:

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

9 有兩位小數的正實數:

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

10 有1~3位小數的正實數:

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

11 非零的正整數:

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

12 非零的負整數:

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

13 非負整數:

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

14 非正整數:

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

15 非負浮點數:

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

16 非正浮點數:

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

17 正浮點數:

^[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]*))$

18 負浮點數:

^-([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]*)))$

19 浮點數:

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

二、校驗字元的表示式

1 漢字:

^[\u4e00-\u9fa5]$

2 英文和數字:

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

3 長度為3-20的所有字元:

^.$4 由26個英文本母組成的字串:

^[a-za-z]+$

5 由26個大寫英文本母組成的字串:

^[a-z]+$

6 由26個小寫英文本母組成的字串:

^[a-z]+$

7 由數字和26個英文本母組成的字串:

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

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

^\w+$ 或 ^\w$

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

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

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

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

11 可以輸入含有^%&',;=?$\"等字元:

[^%&',;=?$\x22]+

12 禁止輸入含有~的字元:

[^~\x22]+ 

三、特殊需求表示式

史上最全正規表示式

很多不太懂正則的朋友,在遇到需要用正則校驗資料時,往往是在網上去找很久,結果找來的還是不很符合要求。所以我最近把開發中常用的一些正規表示式整理了一下,在這裡分享一下。給自己留個底,也給朋友們做個參考。1.數字 0 9 2.n位的數字 d 3.至少n位的數字 d 4.m n位的數字 d 5.零和非零開...

史上最全的正規表示式

正規表示式的使用 不管是前端還是後台都要接觸正規表示式,不過自己寫正規表示式感覺是非常的繁瑣,也會經常出錯誤,讓我們頭痛不已,那麼讓我們從最基礎的了解一下正規表示式。一 什麼是正規表示式 在編寫處理字串的程式或網頁時,經常會有查詢符合某些複雜規則的字串的需要。正規表示式就是用於描述這些規則的工具。換...

史上最全的正規表示式

一 校驗數字的表示式 1.數字 0 9 2.n位的數字 d 3.至少n位的數字 d 4.m n位的數字 d 5.零和非零開頭的數字 0 1 9 0 9 6.非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 7.帶1 2位小數的正數或負數 d d 8.正數 負數 和小數 d d 9.有兩位小數的...