開發必備:常用正則表達式公式總結


開發必備:常用正則表達式公式總結

正則表達式


一、校驗數字的表達式

數字:

<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>


分享到:


相關文章: