一、校驗數字的表達式
數字:
<code>^[0-9]\\*$/<code>
n位的數字:
<code>^\\d{n}$/<code>
至少n位的數字:
<code>^\\d{n,}$/<code>
m-n位的數字:
<code>^\\d{m,n}$/<code>
零和非零開頭的數字:
<code>^(0|[1-9][0-9]\\*)$/<code>
非零開頭的最多帶兩位小數的數字:
<code>^([1-9][0-9]\\*)+(\\.[0-9]{1,2})?$/<code>
帶1-2位小數的正數或負數:
<code>^(\\-)?\\d+(\\.\\d{1,2})$/<code>
正數、負數、和小數:
<code>^(\\-|\\+)?\\d+(\\.\\d+)?$/<code>
有兩位小數的正實數:
<code>^[0-9]+(\\.[0-9]{2})?$/<code>
有1~3位小數的正實數:
<code>^[0-9]+(\\.[0-9]{1,3})?$/<code>
非零的正整數:
<code>^[1-9]\\d\\*$
或
^([1-9][0-9]\\*){1,3}$
或
^\\+?[1-9][0-9]\\*$/<code>
非零的負整數:
<code>^\\-[1-9][]0-9"\\*$
或
^-[1-9]\\d\\*$/<code>
非負整數:
<code>^\\d+$
或
^[1-9]\\d\\*|0$/<code>
非正整數:
<code>^-[1-9]\\d\\*|0$
或
^((-\\d+)|(0+))$/<code>
非負浮點數:
<code>^\\d+(\\.\\d+)?$
或
^[1-9]\\d\\*\\.\\d\\*|0\\.\\d\\*[1-9]\\d\\*|0?\\.0+|0$/<code>
非正浮點數:
<code>^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$
或
^(-([1-9]\\d\\*\\.\\d\\*|0\\.\\d\\*[1-9]\\d\\*))|0?\\.0+|0$/<code>
正浮點數:
<code>^[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]\\*))$/<code>
負浮點數:
<code>^-([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]\\*)))$/<code>
浮點數:
<code>^(-?\\d+)(\\.\\d+)?$
或
^-?([1-9]\\d\\*\\.\\d\\*|0\\.\\d\\*[1-9]\\d\\*|0?\\.0+|0)$/<code>
二、校驗字符的表達式
漢字:
<code>^[\\\\u4e00-\\\\u9fa5]{0,}$/<code>
英文和數字:
<code>^[A-Za-z0-9]+$
或
^[A-Za-z0-9]{4,40}$/<code>
長度為3-20的所有字符:
<code>^.{3,20}$/<code>
由26個英文字母組成的字符串:
<code>^[A-Za-z]+$/<code>
由26個大寫英文字母組成的字符串:
<code>^[A-Z]+$/<code>
由26個小寫英文字母組成的字符串:
<code>^[a-z]+$/<code>
由數字和26個英文字母組成的字符串:
<code>^[A-Za-z0-9]+$/<code>
由數字、26個英文字母或者下劃線組成的字符串:
<code>^\\w+$
或
^\\w{3,20}$/<code>
中文、英文、數字包括下劃線:
<code>^[\\\\u4E00-\\\\u9FA5A-Za-z0-9_]+$/<code>
中文、英文、數字但不包括下劃線等符號:
<code>^[\\\\u4E00-\\\\u9FA5A-Za-z0-9]+$
或
^[\\\\u4E00-\\\\u9FA5A-Za-z0-9]{2,20}$/<code>
禁止輸入含有~的字符:
<code>[^~\\\\x22]+/<code>
三、特殊需求表達式
Email地址:
<code>^\\w+([-+.]\\w+)\\*@\\w+([-.]\\w+)\\*\\.\\w+([-.]\\w+)\\*$/<code>
域名:
<code>[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?/<code>
InternetURL:
<code>[a-zA-z]+://[^\\s]\\*
或
^http://([\\w-]+\\.)+[\\w-]+(/[\\w-./?%&=]\\*)?$/<code>
手機號碼:
<code>^(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}$/<code>
國內電話號碼(0511-4405222、021-87888822):
<code>\\d{3}-\\d{8}|\\d{4}-\\d{7}/<code>
電話號碼正則表達式(支持手機號碼,3-4位區號,7-8位直播號碼,1-4位分機號):
<code> ((\\d{11})|^((\\d{7,8})|(\\d{4}|\\d{3})-(\\d{7,8})|(\\d{4}|\\d{3})-(\\d{7,8})-(\\d{4}|\\d{3}|\\d{2}|\\d{1})|(\\d{7,8})-(\\d{4}|\\d{3}|\\d{2}|\\d{1}))$)/<code>
身份證號(15位、18位數字),最後一位是校驗位,可能為數字或字符X:
<code>(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)/<code>
帳號是否合法(字母開頭,允許5-16字節,允許字母數字下劃線):
<code>^[a-zA-Z][a-zA-Z0-9_]{4,15}$/<code>
密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線):
<code>^[a-zA-Z]\\w{5,17}$/<code>
強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字符,長度在 8-10 之間):
<code>^(?=.\\*\\d)(?=.\\*[a-z])(?=.\\*[A-Z])[a-zA-Z0-9]{8,10}$/<code>
強密碼(必須包含大小寫字母和數字的組合,可以使用特殊字符,長度在8-10之間):
<code>^(?=.\\*\\d)(?=.\\*[a-z])(?=.\\*[A-Z]).{8,10}$/<code>
日期格式:
<code>^\\d{4}-\\d{1,2}-\\d{1,2}/<code>
一年的12個月(01~09和1~12):
<code>^(0?[1-9]|1[0-2])$/<code>
一個月的31天(01~09和1~31):
<code>^((0?[1-9])|((1|2)[0-9])|30|31)$/<code>
xml文件:
<code>^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\\\.[x|X][m|M][l|L]$/<code>
中文字符的正則表達式:
<code>[\\\\u4e00-\\\\u9fa5]/<code>
空白行的正則表達式:
<code>\\n\\s\\*\\r (可以用來刪除空白行)/<code>
HTML標記的正則表達式:
<code>]\\*>.\\*?|<./>
( 首尾空白字符的正則表達式:^\\s\\*|\\s\\*$或(^\\s\\*)|(\\s\\*$) (可以用來刪除行首行尾的空白字符(包括空格、製表符、換頁符等等),非常有用的表達式)/<code>
騰訊QQ號:
<code>[1-9][0-9]{4,} (騰訊QQ號從10000開始)/<code>
中國郵政編碼:
<code>[1-9]\\d{5}(?!\\d) (中國郵政編碼為6位數字)/<code>
IP地址:
<code>((?:(?:25[0-5]|2[0-4]\\\\d|[01]?\\\\d?\\\\d)\\\\.){3}(?:25[0-5]|2[0-4]\\\\d|[01]?\\\\d?\\\\d))/<code>
閱讀更多 開發者 的文章