1. 程式人生 > >Change, We Need!

Change, We Need!

有時候我們需要用到正則表示式,正則表示式的書寫規則如下: 例如輸入驗證使用者密碼的正則表示式:“^[a-zA-Z]\w{5,17}$”表示密碼規則是以字母開頭,長度在6-18之間,只能包含字母、數字和下劃線。 l \d任意一個數字,0~9中的任意一個 l \w任意一個字母或數字或下劃線,也就是A-Z,a-z,0-9中任意一個 l \s包括空格、製表符、換頁符等空白字元的其中任意一個 l .小數點可以匹配除了換行符(\n)以外的任意一個字元 l ^開始 l $結束 一些表示式的作用: {n}:表示重複n次,比如"\w{2}"相當於"\w\w";"a{5}"相當於 "aaaaa" {m,n}:表示至少重複m次,最多重複n次,比如"ba{1,3}"可以匹配 "ba"或"baa"或"baaa" {m,}:表示至少重複m次,比如"\w\d{2,}"可以匹配 "a12","_456","M12344" ?:匹配表示式0次或者1次,相當於 {0,1},比如"a[cd]?"可以匹配 "a","ac","ad" +:表示式至少出現1次,相當於 {1,},比如"a+b"可以匹配 "ab","aab","aaab" *:表示式不出現或出現任意次,相當於 {0,},比如"\^*b"可以匹配 "b","^^^b"。 一些常用小例子舉例: (1) 檢查手機號是否合法:^1(3\d|5[36789])\d{8}$ 說明:這裡以此規則為例,手機號共11位,第一位為1,第二位為3或者5,當第二位為5的時候,第三位只能是36789中的一個 (2) 檢查中文名是否合法:^[\u4e00-\u9fa5]+$ 說明:若不是中文或中文的前後有空格,都認為是不合法的 (3) 檢查html標記是否匹配:<(.*)>.*<\/\1>|<(.*) \/> 說明:如若只出現<html>而無對應的</html>,則檢驗結果是html標記不匹配 (4) 檢查URL格式是否合法:[a-zA-z]+://[^\s]* 說明:URL合法格式應該以字母連線://開頭 (5) 檢查IP格式是否合法:(\d+)\.(\d+)\.(\d+)\.(\d+) 說明:IP的格式是點分十進位制格式,例如:192.168.100.11就是正確的IP (6) 檢查賬號是否合法:^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 說明:賬號字母開頭,其他位可以有大小寫字母、數字、下劃線,允許5-16位元組 (7) 檢查QQ號是否合法:^\s*[0-9]{5,10}\s*$ 說明:QQ號碼必須是數字,最短5位,最長10位 (8) 檢查郵政編碼是否合法:^[1-9]\d{5}$ 說明:郵編首位不為0,長度是6位的數字 (9) 檢查身份證號是否合法:(^\d{15}$)|(^\d{17}([0-9]|X)$) 說明:身份證號碼為15位或者18位,15位時全為數字,18位前17位為數字,最後一位是校驗位,可能為數字或字元X 如果是在js中使用正則表示式,則需要在正則表示式前後加“/”,如建廠手機號碼是否合法:/^1(3\d|5[36789])\d{8}$/