校驗密碼強度
-
密碼長度為8-16位 -
必須包含至少一個大寫字母、一個小寫字母和一個數字
^(?=.*[a-z])(?=.*[A-Z])(?=.*d)[a-zA-Zd]{8,16}$
這個正則表達式的含義是:
-
^
表示匹配字符串的開始 -
(?=.*[a-z])
表示至少包含一個小寫字母 -
(?=.*[A-Z])
表示至少包含一個大寫字母 -
(?=.*d)
表示至少包含一個數字 -
[a-zA-Zd]{8,16}
表示密碼由大小寫字母和數字組成,且長度為8-16位 -
$
表示匹配字符串的結束
使用這個正則表達式可以校驗密碼是否符合一定的強度要求。
校驗中文
^[u4e00-u9fa5]+$
這個正則表達式可以匹配一個或多個中文字符。
由數字、英文字母、下劃線組成的字符串
^w+$
w
表示匹配任意數字、英文字母、下劃線。+
表示匹配前面的字符一次或多次。^
表示匹配字符串的開頭,$
表示匹配字符串的結尾。因此,這個正則表達式可以用來校驗由數字、英文字母、下劃線組成的字符串。
校驗郵箱地址
^[w.-]+@[a-zA-Zd.-]+.[a-zA-Z]{2,}$
這個正則表達式的含義是:
-
^
表示匹配字符串的開頭 -
[w.-]+
匹配郵箱地址中的用戶名部分,包括字母、數字、下劃線、點和連字符,且至少包含一個字符 -
@
匹配郵箱地址中的@符號 -
[a-zA-Zd.-]+
匹配郵箱地址中的域名部分,包括字母、數字、點和連字符,且至少包含一個字符 -
.
匹配郵箱地址中的域名部分和頂級域名之間的點 -
[a-zA-Z]{2,}
匹配郵箱地址中的頂級域名部分,包括至少兩個字母 -
$
表示匹配字符串的結尾
這個正則表達式可以校驗大部分常見的郵箱地址格式,但并不能保證一定能匹配所有合法的郵箱地址。
校驗身份證號
/^(d{6})(19|20)?(d{2})(0[1-9]|1[0-2])(0[1-9]|[12]d|3[01])(d{3})(d|X)?$/
^表示匹配字符串的開始,$表示匹配字符串的結束。括號用于分組,d表示匹配數字,?表示前面的字符可選,|表示或的關系,[...]表示匹配括號內的任意一個字符,{n}表示匹配前面的字符n次,{m,n}表示匹配前面的字符至少m次,至多n次。
這個正則表達式可以匹配18位和15位身份證號,其中18位身份證號的前17位為數字,最后一位可以是數字或者X,15位身份證號的前15位為數字。
校驗日期
^(?:(?:31(/|-|.)(?:0?[13578]|1[02]))1|(?:(?:29|30)(/|-|.)(?:0?[13-9]|1[0-2])2))(?:(?:1[6-9]|[2-9]d)?d{2})$|^(?:29(/|-|.)(?:0?2)3(?:(?:(?:1[6-9]|[2-9]d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1d|2[0-8])(/|-|.)(?:(?:0?[1-9])|(?:1[0-2]))4(?:(?:1[6-9]|[2-9]d)?d{2})$
這個正則表達式可以匹配格式為"dd/mm/yyyy"、"dd-mm-yyyy"或"dd.mm.yyyy"的日期,其中年份為1600年至9999年之間的日期。
^d{4}-d{2}-d{2}$
這個正則表達式可以使用以下正則表達式來校驗yyyy-mm-dd格式的日期,以4位數字開頭,然后是一個連字符,然后是2位數字,再然后是一個連字符,最后是2位數字。
校驗金額
^d{1,3}(,d{3})*(.d{2})?$
這個正則表達式可以匹配以下金額格式:
-
123 -
1,234 -
1,234.56 -
123.45
其中:
-
^d{1,3}
匹配 1 到 3 位數字開頭 -
(,d{3})*
匹配逗號和3位數字的組合,可以重復任意次 -
(.d{2})?
匹配小數點和2位數字的組合,可選
這個正則表達式可以滿足大部分金額的校驗需求。
校驗手機號
^1[3-9]d{9}$
這個正則表達式可以匹配以1開頭的11位數字,其中第二位數字為3-9之間的任意數字。
檢查IE版本
MSIEs(d+)
這個正則表達式可以匹配以"MSIE"開頭,后面跟著一個或多個數字的字符串,這個數字就是IE的版本號。
校驗IP地址
^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
這個正則表達式可以匹配合法的IP地址,其中每個段的取值范圍是0到255。
校驗URL
^(https?|ftp)://[^s/$.?#].[^s]*$
這個正則表達式可以匹配以http、https或ftp開頭的URL,例如:https://www.bAIdu.com。
校驗文件路徑及擴展名
文件路徑的正則表達式:
^(/[^/]+)+$
解釋:
-
^
表示匹配字符串的開頭 -
(/[^/]+)+
表示匹配以/
開頭,后面跟著至少一個非/
和空字符的字符組合,可以重復多次 -
$
表示匹配字符串的結尾
擴展名的正則表達式:
.[a-zA-Z0-9]+$
解釋:
-
.
表示匹配.
字符 -
[a-zA-Z0-9]+
表示匹配至少一個字母或數字 -
$
表示匹配字符串的結尾
將兩個正則表達式結合起來,可以校驗文件路徑及擴展名:
^(/[^/]+)+.[a-zA-Z0-9]+$
提取Hex顏色值
#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})
這個正則表達式可以匹配帶有#
前綴的6位或3位16進制顏色代碼。
匹配html標簽
<([a-z1-6]+)([^<]+)*(?:>(.*)</1>|s/>)
這個正則表達式可以匹配類似<div>
、<a href="example.com">
、<img src="image.jpg" />
等HTML標簽。
在線工具:https://regex101.com/