驗證圖片: ^\w+\.(jpg|gif|bmp|png)$
驗證上傳文檔(字數在3到12個): ^(([\u4e00-\u9fa5]{3,12})|(\w{3,12}))*\.(docx|pdf)$
驗證手機號:^1[3,4,5,7,8]\d{9}$
^1[3|4|5|8][0-9]\d{8}$
^(135|138|152|155|180)\d{4,11}$
常用正則表達式規則
作用 | 正則規則 |
---|---|
中文字符 | [\u4e00-\u9fa5] |
雙字節字符(包括漢字在內) | [^\x00-\xff] |
空白行 | \n\s*\r |
Email地址 | [\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])? |
網址URL | [a-zA-z]+://[^\s]* |
國內電話號碼 | \d{3}-\d{8}|\d{4}-\{7,8} |
中國郵政編碼 | [1-9]\d{5}(?!\d) |
18位身份證號 | ^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$ |
轉義語法:\特殊符號
[abc]:表示匹配abc中的任意一個字符就算匹配到
[^abc]:表示除了abc之外的任意一個字符就算匹配成功 a2
[0-9]:表示匹配到0-9之間的任意一個數字就算匹配到
[^0-9]:表示匹配任意一個非數字的字符就算匹配成功
[a-z]:表示匹配任意一個小寫字母就算匹配成功
[a-zA-Z]:表示匹配任意一個字母就算匹配成功
[^a-zA-Z]:表示除了字母之外的其他任意一個字符就算匹配成功
1.2 預定義字符
\d:表示數字[0-9]
\D:表示非數字[^0-9]
\w:表示字母數字下劃線組成的任意字符 等同於[a-zA-Z0-9_]
\W:除了字母數字或漢字 下劃線其他的任意字符
.:除了換行符和行結束符的任意字符
\s:表示匹配空白字符
\S:表示非空白字符
\b:表示單詞邊界
\B:表示非單詞邊界
1.3 限定符
X?:表示X出現0次或者一次
X*:表示X出現0次或者是多次
X+:表示X出現1次或者是多次
X{m}:表示X剛好出現m次
X{m,}:表示X至少出現m次
X{m,n}:表示X至少出現m次,但是不超過n次
1.4 定位符
^:表示以什麼開始 ^\d:表示以數字開始
$:表示以什麼結束 \d$:表示以數字結束
開始符和結束符在表單驗證裏用得很多
\b:表示單詞的邊界
1.5 選擇匹配符
A|B:表示匹配A或者是B