很多不太懂正則的朋友,在遇到需要用正則校驗資料時,往往是在網上去找很久,結果找來的還是不很符合要求。所以我最近把開發中常用的一些正規表示式整理了一下,包括校驗數字、字元、一些特殊的需求等等。給自己留個底,也給朋友們做個參考。
一、校驗數字的表示式
數字:^[0-9]*$
n位的數字:^\d$
至少n位的數字:^\d$
m-n位的數字:^\d$
零和非零開頭的數字:^(0|[1-9][0-9]*)$
非零開頭的最多帶兩位小數的數字:^([1-9][0-9]*)+(.[0-9])?$
帶1-2位小數的正數或負數:^(\-)?\d+(\.\d)?$
正數、負數、和小數:^(\-|\+)?\d+(\.\d+)?$
有兩位小數的正實數:^[0-9]+(.[0-9])?$
有1~3位小數的正實數:^[0-9]+(.[0-9])?$
非零的正整數:^[1-9]\d*$ 或 ^([1-9][0-9]*)$ 或 ^\+?[1-9][0-9]*$
非零的負整數:^\-[1-9]0-9″*$ 或 ^-[1-9]\d*$
非負整數:^\d+$ 或 ^[1-9]\d*|0$
非正整數:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
非負浮點數:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
非正浮點數:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
正浮點數:^[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]*))$
負浮點數:^-([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]*)))$
浮點數:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
二、校驗字元的表示式
漢字:^[\u4e00-\u9fa5]$
英文和數字:^[a-za-z0-9]+$ 或 ^[a-za-z0-9]$
長度為3-20的所有字元:^.$
由26個英文本母組成的字串:^[a-za-z]+$
由26個大寫英文本母組成的字串:^[a-z]+$
由26個小寫英文本母組成的字串:^[a-z]+$
由數字和26個英文本母組成的字串:^[a-za-z0-9]+$
由數字、26個英文本母或者下劃線組成的字串:^\w+$ 或 ^\w$
中文、英文、數字包括下劃線:^[\u4e00-\u9fa5a-za-z0-9_]+$
中文、英文、數字但不包括下劃線等符號:^[\u4e00-\u9fa5a-za-z0-9]+$ 或 ^[\u4e00-\u9fa5a-za-z0-9]$
可以輸入含有^%&',;=?$\」等字元:[^%&',;=?$\x22]+
禁止輸入含有~的字元:[^~\x22]+
三、特殊需求表示式
以上就是貨真價實,最全面的正規表示式,希望對大家的學習有所幫助,快點收藏。
正規表示式大全
0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 正浮點數 d d 0 0 非正浮點數 負浮點數 0 0 9 0 9 1 9...
正規表示式大全
d d d b end function c string mdytodmy string input d d b regex 替換模式 本示例說明如何在 regex.replace 的替換模式中使用命名的反向引用。其中,替換表示式 插入由 組捕獲的子字串。有幾種靜態函式使您可以在使用正規表示式操作...
正規表示式大全
專案推薦 推薦個人github開源專案 iot dc3 乙個開源的 分布式的物聯網 iot 平台,用於快速開發物聯網專案和管理拓展。匹配中文字元的 u4e00 u9fa5 匹配雙位元組字元 x00 xff 匹配空白行 ns r 匹配email w w w w w w 匹配 a za z s 匹配賬號...