來自稍作改動
一、校驗數字的表示式
1 數字:([0-9])或(\d)
2 n位的數字:(\d)或([0-9]+)
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]+)
或 (-[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]+
2 網域名稱:[a-za-z0-9][-a-za-z0-9](/.[a-za-z0-9][-a-za-z0-9])+/.?
3interneturl:[a-za-z]+://[\s]* 或 http://([\w-]+.)+[\w-]+(/[\w-./?%&=]*)?
4 手機號碼:(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9]|19[0-9])\d (由於工信部放號段不定時,所以建議使用泛解析
([1][3,4,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 18位身份證號碼(數字、字母x結尾):((\d)|([0-9x])|([0-9x]))
8 帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):[a-za-z][a-za-z0-9_]
9 密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線):[a-za-z]\w
10 強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字元,長度在8-10之間):(?=.\d)(?=.[a-z])(?=.*[a-z]).
11 日期格式:\d-\d-\d
12 一年的12個月(01~09和1~12):(0?[1-9]|1[0-2])
13 乙個月的31天(01~09和1~31):((0?[1-9])|((1|2)[0-9])|30|31)
14 錢的輸入格式:
151.有四種錢的表示形式我們可以接受:「10000.00」 和 「10,000.00」, 和沒有 「分」 的 「10000」 和 「10,000」:[1-9][0-9]*
16 2.這表示任意乙個不以0開頭的數字,但是,這也意味著乙個字元"0"不通過,所以我們採用下面的形式:(0|[1-9][0-9]*)
173.乙個0或者乙個不以0開頭的數字.我們還可以允許開頭有乙個負號:(0|-?[1-9][0-9]*)
184.這表示乙個0或者乙個可能為負的開頭不為0的數字.讓使用者以0開頭好了.把負號的也去掉,因為錢總不能是負的吧.下面我們要加的是說明可能的小數部分:[0-9]+(.[0-9]+)?
195.必須說明的是,小數點後面至少應該有1位數,所以"10."是不通過的,但是 「10」 和
「10.2」 是通過的:[0-9]+(.[0-9])?
206.這樣我們規定小數點後面必須有兩位,如果你認為太苛刻了,可以這樣:[0-9]+(.[0-9])?
217.這樣就允許使用者只寫一位小數.下面我們該考慮數字中的逗號了,我們可以這樣:[0-9](,[0-9])*(.[0-9])?
228.1到3個數字,後面跟著任意個 逗號+3個數字,逗號成為可選,而不是必須:([0-9]+|[0-9](,[0-9])*)(.[0-9])?
23備註:這就是最終結果了,別忘了"+「可以用」*"替代如果你覺得空字串也可以接受的話(奇怪,為什麼?)最後,別忘了在用函式時去掉去掉那個反斜槓,一般的錯誤都在這裡
24 xml檔案:([a-za-z]±?)+[a-za-z0-9]+\.[x|x][m|m][l|l]
25 中文字元的正規表示式:[\u4e00-\u9fa5]
26 雙位元組字元:[\x00-\xff] (包括漢字在內,可以用來計算字串的長度(乙個雙位元組字元長度計2,ascii字元計1))
27 空白行的正規表示式:\n\s*\r (可以用來刪除空白行)
28 html標記的正規表示式:<(\s*?)[>]>.?|<.*?
/> (網上流傳的版本太糟糕,上面這個也僅僅能部分,對於複雜的巢狀標記依舊無能為力)
29 首尾空白字元的正規表示式:\s*|\s或(\s)|(\s*) (可以用來刪除行首行尾的空白字元(包括空格、製表符、換頁符等等),非常有用的表示式)
Java常用正規表示式
d 非負整數 正整數 0 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 非正浮點數 負浮點數 ...
Java常用正規表示式
d 非負整數 正整數 0 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 非正浮點數 負浮點數 ...
Java常用正規表示式
d 非負整數 正整數 0 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 非正浮點數 負浮點數 ...