【正規表示式】常用的正規表示式(數字,漢字,字串,金額等的正規表示式)
❤ 寫在前面
如果覺得對你有幫助的話,點個小❤❤ 吧,你的支援是對我最大的鼓勵~
歡迎關注我的公眾號【有更多的前端教程】 或者來看 我的個人網站
1.校驗數字
數字 ^[0-9]*$
Z位的數字 ^\d{Z}$
至少Z位的數字 ^\d{Z,}$
X-Z位的數字 ^\d{X,Z}$
數字(零和非零開頭) ^(0|[1-9][0-9]*)$
最多帶兩位小數的數字(非零開頭) ^([1-9][0-9]*)+(\.[0-9]{1,2})?$
帶1-2位小數的正數或負數 ^(\-)?\d+(\.\d{1,2})$
正數、負數、和小數 ^(\-|\+)?\d+(\.\d+)?$
有兩位小數的正實數 ^[0-9]+(\.[0-9]{2})?$
有1~3位小數的正實數 ^[0-9]+(\.[0-9]{1,3})?$
整數(非負) ^\d+$ 或 ^[1-9]\d*|0$
整數(非正) ^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
正整數(非零) ^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
負整數(非零) ^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
正浮點數 ^[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)$
浮點數(非負) ^\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$
2.校驗字元
漢字 ^[\u4e00-\u9fa5]{0,}$
英文和數字 ^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
長度為3-20的所有字元 ^.{3,20}$
英文字母 ^[A-Za-z]+$
大寫英文字母 ^[A-Z]+$
小寫英文字母 ^[a-z]+$
數字、英文字母 ^[A-Za-z0-9]+$
數字、英文字母 或 下劃線 ^\w+$ 或 ^\w{3,20}$
中文、英文、數字包括下劃線 ^[\u4E00-\u9FA5A-Za-z0-9_]+$
中文、英文、數字但不包括下劃線等符號 ^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
可以輸入含有^%&',;=?$\"等字元 [^%&',;=?$\x22]+
禁止輸入含有~的字元 [^~\x22]+
3.特殊需求表示式
Email地址 ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
域名 [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?
網址 [a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
手機號碼 ^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
電話號碼 ^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
國內電話號碼(0591-2236123、051-84562156) \d{3}-\d{8}|\d{4}-\d{7}
電話號碼正規表示式(支援手機號碼,3-4位區號,7-8位直播號碼,1-4位分機號) ((\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}))$)
身份證號(15位、18位數字),最後一位是校驗位,可能為數字或字元X:(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)
帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線)
^[a-zA-Z]\w{5,17}$
密碼(必須包含大小寫字母和數字的組合,不能使用特殊字元,長度在 8-10 之間)
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$
密碼(必須包含大小寫字母和數字的組合,可以使用特殊字元,長度在8-10之間)
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
日期 ^\d{4}-\d{1,2}-\d{1,2}
一年的12個月(01~09和1~12) ^(0?[1-9]|1[0-2])$
一個月的31天(01~09和1~31) ^((0?[1-9])|((1|2)[0-9])|30|31)$
xml檔案 ^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
中文字元的正規表示式 [\u4e00-\u9fa5]
空白行的正規表示式 \n\s*\r (用來刪除空白行)
HTML標記的正規表示式 <(\S*?)[^>]*>.*?|<.*? />
騰訊QQ號 [1-9][0-9]{4,} (騰訊QQ號從10000開始)
中國郵政編碼 [1-9]\d{5}(?!\d) (中國郵政編碼為6位數字)
IPv4地址 ((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}
4.金額的校驗
四種金額表示形式:"22222.11" , "22,222.33", "22222" , "22,222" ^[1-9][0-9]*$
任意一個不以0開頭的數字 ^(0|[1-9][0-9]*)$
一個0或者一個不以0開頭的數字.我們還可以允許開頭有一個負號 ^(0|-?[1-9][0-9]*)$
這表示一個0或者一個可能為負的開頭不為0的數字,小數部分 ^[0-9]+(.[0-9]+)?$
必須說明的是,小數點後面至少應該有1位數,所以"10."是不通過的,但是 "10" 和 "10.2" 是通過的 ^[0-9]+(.[0-9]{2})?$
這樣我們規定小數點後面必須有兩位,如果你認為太苛刻了,可以這樣 ^[0-9]+(.[0-9]{1,2})?$
這樣就允許使用者只寫一位小數.下面我們該考慮數字中的逗號了,我們可以這樣 ^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$
1到3個數字,後面跟著任意個 逗號+3個數字,逗號成為可選,而不是必須 ^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
相關文章
- 專案中常用的數字金額正規表示式
- 正規表示式刪除字串中的漢字字串
- JS金額正規表示式JS
- Java 金額正規表示式Java
- 常用正規表示式
- JS常用正規表示式及驗證時間的正規表示式JS
- 字串——正規表示式匹配字串
- Python正規表示式匹配字串中的數字Python字串
- 正規表示式
- 常用正規表示式工具
- Java常用正規表示式Java
- [jQuery]常用正規表示式jQuery
- 常用js正規表示式JS
- 匹配漢字的正規表示式程式碼例項
- 使用正規表示式處理金額
- 正規表示式刪除字串中非數字內容字串
- 常用的正規表示式大全(數字、字元、固定格式)字元
- 正規表示式判斷是否是數字
- JavaScript的正規表示式JavaScript
- JS 的正規表示式JS
- 常用有效的正規表示式【轉】
- 【JavaScript】正規表示式JavaScript
- php –正規表示式PHP
- 正規表示式 教程
- 正規表示式 split()
- java正規表示式Java
- PHP正規表示式PHP
- javascript正規表示式JavaScript
- 【java】正規表示式Java
- 初探正規表示式
- [js]正規表示式JS
- js正規表示式JS
- javascript–正規表示式JavaScript
- ORACLE 正規表示式Oracle
- MySQL 正規表示式MySql
- oracle正規表示式Oracle
- js 正規表示式JS
- ultraedit正規表示式