天天看點

常用的正規表達式大全

整理了工作中常用的一些正規表達式,常用的正則驗證表達式:

<code>數字相關的正規表達式</code>

<code>使用方法:</code>

<code>var</code> <code>a = </code><code>'www.ljiong.com'</code><code>;</code>

<code>var</code> <code>pattern = /^([-]){0,1}([0-9]){1,}([.]){0,1}([0-9]){0,}$/;</code>

<code>var</code> <code>flag = pattern.test(a);</code><code>//false</code>

<code>數字類型:/^([-])?([0-9])+([.])?([0-9])*$/  或   /^([-]){0,1}([0-9]){1,}([.]){0,1}([0-9]){0,}$/</code>

<code>數字:^[0-9]*$</code>

<code>n位定長的數字:^\d{n}$</code>

<code>m-n位之間的數字:^\d{m,n}$</code>

<code>零和非零開頭的數字:^(0|[1-9][0-9]*)$</code>

<code>非零開頭的最多帶兩位小數的數字:^([1-9][0-9]*)+(.[0-9]{1,2})?$</code>

<code>帶1-2位小數的正數或負數:^(\-)?\d+(\.\d{1,2})?$</code>

<code>正數、負數、和小數:^(\-|\+)?\d+(\.\d+)?$</code>

<code>有兩位小數的正實數:^[0-9]+(.[0-9]{2})?$</code>

<code>有1~3位小數的正實數:^[0-9]+(.[0-9]{1,3})?$</code>

<code>正整數:^\d+$ 或 ^[1-9]\d*|0$</code>

<code>負整數:^-[1-9]\d*|0$ 或 ^((-\d+)|(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>字元相關的正規表達式</code>

<code>漢字:^[\u4e00-\u9fa5]{0,}$</code>

<code>長度為3-20的所有字元:^.{3,20}$</code>

<code>由數字和26個英文字母組成的字元串:^[A-Za-z0-9]+$</code>

<code>由數字、26個英文字母或者下劃線組成的字元串:^\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>帳号是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$</code>

<code>密碼(以字母開頭,長度在6~18之間,隻能包含字母、數字和下劃線):^[a-zA-Z]\w{5,17}$</code>

<code>強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字元,長度在8-10之間):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$</code>

<code>固定格式約定俗成的正規表達式</code>

<code>Email位址:^\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>

<code>URL網址:^http:</code><code>//([\w-]+\.)+[\w-]+(/[\w-./?%&amp;=]*)?$</code>

<code>手機号碼:^(13[0-9]|17[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>

<code>電話号碼(“XXX-XXXXXXX”、”XXXX-XXXXXXXX”、”XXX-XXXXXXX”、”XXX-XXXXXXXX”、”XXXXXXX”和”XXXXXXXX):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$</code>

<code>國内電話号碼(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}</code>

<code>×××号(15位、18位數字):^\d{15}|\d{18}$</code>

<code>日期格式:^\d{4}-\d{1,2}-\d{1,2}</code>

<code>一年的12個月(01~09和1~12):^(0?[1-9]|1[0-2])$</code>

<code>一個月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$</code>

<code>騰訊QQ号:[1-9][0-9]{4,8} (騰訊QQ号從10000開始,目前最長為10位)</code>

<code>中國郵政編碼:[1-9]\d{5}(?!\d) (中國郵政編碼為6位數字)</code>

<code>IP位址:\d+\.\d+\.\d+\.\d+ (提取IP位址時有用)</code>

<code>IP位址:((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))</code>

本文轉自 a928154159 51CTO部落格,原文連結:http://blog.51cto.com/zhibeiwang/2052572

繼續閱讀