Web 前端常用正則校驗規則
作為 Web 前端開發,常用的正則校驗規則有很多,下面是一些常見的示例:
1. 校驗手機號碼
手機號碼的正則運算式可以根據不同國家和地區的手機號碼格式進行調整,以下是中國大陸的手機號碼正則運算式:
const regex = /^1[3456789]\d{9}$/;
在這個示例中,正則運算式 ^1[3456789]\d{9}$ 表示:
^表示匹配字串的開頭,1表示必須以數字 1 開頭,[3456789]表示第二位必須是 3、4、5、6、7、8 或 9 中的一個,\d{9}表示后面必須跟著 9 個數字,$表示匹配字串的結尾,
2. 校驗郵箱地址
郵箱地址的正則運算式可以根據不同的郵箱服務提供商進行調整,以下是一個通用的郵箱地址正則運算式:
const regex = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
在這個示例中,正則運算式 ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 表示:
^表示匹配字串的開頭,\w+表示必須以一個或多個字母、數字或下劃線開頭,([-+.]\w+)*表示可以包含一個或多個連字符、加號或點號,后面跟著一個或多個字母、數字或下劃線,@表示必須包含一個 @ 符號,\w+表示必須包含一個或多個字母、數字或下劃線,([-.]\w+)*表示可以包含一個或多個連字符或點號,后面跟著一個或多個字母、數字或下劃線,\.表示必須包含一個點號,\w+表示必須包含一個或多個字母、數字或下劃線,
3. 校驗身份證號碼
身份證號碼的正則運算式可以根據不同的國家和地區進行調整,以下是中國大陸身份證號碼的正則運算式:
const regex =
/^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}[0-9Xx]$/;
// 身份證號碼為15位或18位,15位時全為數字,18位前17位為數字,最后一位是校驗位,可能為數字或字符X
// const regex = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
在這個示例中,正則運算式 ^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}[0-9Xx]$ 表示:
^表示匹配字串的開頭,[1-9]表示第一位必須是 1 到 9 中的一個,\d{5}表示后面必須跟著 5 個數字,(19|20)表示第七到第十位必須是 19 或 20,\d{2}表示第十一到第十二位必須是一個兩位數字,(0[1-9]|1[012])表示第十三到第十四位必須是 01 到 12 中的一個,(0[1-9]|[12]\d|3[01])表示第十五到第十六位必須是 01 到 31 中的一個,\d{3}表示第十七到第十九位必須是三個數字,[0-9Xx]表示最后一位可以是數字或大寫字母 X,
4. 校驗密碼強度
校驗密碼強度通常需要考慮密碼的長度、字符型別和組合方式等因素,以下是一個簡單的密碼強度正則運算式,要求密碼長度為 6 到 20 個字符,且必須包含字母和數字:
const regex = /^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]{6,20})$/;
在這個示例中,正則運算式 ^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]{6,20})$ 表示:
^表示匹配字串的開頭,(?=.*[0-9])表示必須包含至少一個數字,(?=.*[a-zA-Z])表示必須包含至少一個字母,([a-zA-Z0-9]{6,20})表示密碼長度必須為 6 到 20 個字符,且只能包含字母和數字,$表示匹配字串的結尾,
5. 校驗 URL 地址
校驗 URL 地址通常需要考慮 URL 的協議、主機名、埠和路徑等部分,以下是一個簡單的 URL 校驗正則運算式:
const regex = /^(http|https):\/\/([\w-]+\.)+[\w-]+(:\d+)?(\/\S*)?$/;
// const regex =
// /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/;
在這個示例中,正則運算式 ^(http|https):\/\/([\w-]+\.)+[\w-]+(:\d+)?(\/\S*)?$ 表示:
^表示匹配字串的開頭,(http|https)表示必須以 http 或 https 開頭,:\/\/表示匹配冒號和雙斜杠,([\w-]+\.)+[\w-]+表示匹配主機名,必須包含至少一個連字符或字母,后面跟著一個或多個字母、數字或連字符,(:\d+)?表示匹配可選的埠號,必須以冒號和一個或多個數字結尾,(\/\S*)?表示匹配可選的路徑,必須以斜杠開頭,后面可以跟任意非空白字符,$表示匹配字串的結尾,
當然,還有一些其他常用的正則校驗規則,例如:
6. 校驗郵政編碼
郵政編碼的正則運算式可以根據不同的國家和地區進行調整,以下是中國大陸郵政編碼的正則運算式:
const regex = /^[1-9]\d{5}$/;
在這個示例中,正則運算式 ^[1-9]\d{5}$ 表示:
^表示匹配字串的開頭,[1-9]表示第一位必須是 1 到 9 中的一個,\d{5}表示后面必須跟著 5 個數字,$表示匹配字串的結尾,
7. 校驗 IP 地址
IP 地址的正則運算式可以根據不同的 IP 地址格式進行調整,以下是一個簡單的 IPv4 地址校驗正則運算式:
const regex =
/^([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])$/;
在這個示例中,正則運算式 ^([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])\.([01]?\d{1,2}|2[0-4]\d|25[0-5])$ 表示:
^表示匹配字串的開頭,([01]?\d{1,2}|2[0-4]\d|25[0-5])表示匹配 0 到 255 之間的數字,\.表示匹配點號,$表示匹配字串的結尾,
8. 校驗護照號碼
以下是中國大陸護照號碼的正則運算式:
const regex = /^[EeGg]\d{8}$/;
在這個示例中,正則運算式 ^[EeGg]\d{8}$ 表示:
^表示匹配字串的開頭,[EeGg]表示第一位必須是大寫字母 E 或 G,或小寫字母 e 或 g 中的一個,\d{8}表示后面必須跟著 8 個數字,$表示匹配字串的結尾,
9. 校驗港澳通行證號碼
以下是中國大陸港澳通行證號碼的正則運算式:
const regex = /^[HMhm]\d{8}$/;
在這個示例中,正則運算式 ^[HMhm]\d{8}$ 表示:
^表示匹配字串的開頭,[HMhm]表示第一位必須是大寫字母 H 或 M,或小寫字母 h 或 m 中的一個,\d{8}表示后面必須跟著 8 個數字,$表示匹配字串的結尾,
10. 校驗中文名
中文名的正則運算式可以根據具體情況進行調整,以下是一個簡單的中文名校驗正則運算式,要求中文名只包含漢字:
const regex = /^[\u4e00-\u9fa5]{2,4}$/;
在這個示例中,正則運算式 ^[\u4e00-\u9fa5]{2,4}$ 表示:
^表示匹配字串的開頭,[\u4e00-\u9fa5]表示匹配任意一個漢字,{2,4}表示匹配 2 到 4 個漢字,$表示匹配字串的結尾,
另外,如果要校驗中文名中是否包含漢字以外的字符,可以使用類似于以下的正則運算式:
const regex = /^[\u4e00-\u9fa5·]{2,20}$/;
在這個示例中,正則運算式 ^[\u4e00-\u9fa5·]{2,20}$ 表示:
^表示匹配字串的開頭,[\u4e00-\u9fa5·]表示匹配任意一個漢字或中文間隔符 “·”,{2,20}表示匹配 2 到 20 個漢字或中文間隔符 “·”,$表示匹配字串的結尾,
這個示例中使用了 “·” 作為中文名的間隔符,這是一種常見的方式,但并不是唯一正確的方式,在實際應用中,應根據具體情況選擇合適的間隔符,并根據需要進行調整和優化,
11. 校驗外國人居留證號碼
以下是一個簡單的外國人居留證校驗正則運算式,要求居留證號碼只包含英文字母和數字:
const regex = /^[A-Za-z0-9]{8,20}$/;
在這個示例中,正則運算式 ^[A-Za-z0-9]{8,20}$ 表示:
^表示匹配字串的開頭,[A-Za-z0-9]表示匹配任意一個英文字母或數字,{8,20}表示匹配 8 到 20 個英文字母或數字,$表示匹配字串的結尾,
12. 校驗只允許字母和數字
只允許字母和數字的正則運算式如下:
const regex = /^[A-Za-z0-9]+$/;
在這個示例中,正則運算式 ^[A-Za-z0-9]+$ 表示:
^表示匹配字串的開頭,[A-Za-z0-9]表示匹配任意一個英文字母或數字,+表示匹配前面的字符至少一次或多次,$表示匹配字串的結尾,
這個正則運算式可以用來校驗只包含字母和數字的字串,例如用戶名、密碼等,需要注意的是,這個正則運算式不包括空格和其他特殊字符,如果需要校驗包括空格和其他特殊字符的字串,可以根據具體情況進行調整和優化,
13. 校驗首位不為零的數字
首位不為零的數字的正則運算式如下:
const regex = /^[1-9]\d*$/;
在這個示例中,正則運算式 ^[1-9]\d*$ 表示:
^表示匹配字串的開頭,[1-9]表示第一位必須是 1 到 9 中的一個,\d*表示后面可以跟著任意個數字(包括零個數字),$表示匹配字串的結尾,
這個正則運算式可以用來校驗整數,要求整數的首位必須是 1 到 9 中的一個,可以包含多個數字,此外,這個正則運算式不包括小數和負數,如果需要校驗包括小數和負數的數字,可以根據具體情況進行調整和優化,
需要注意的是,以上示例只是常用的正則校驗規則之一,實際應用中可能需要根據具體的業務需求進行調整和優化,同時,正則運算式的撰寫也需要考慮到性能和可讀性等方面的因素,
作者:飛仔FeiZai
出處:https://www.cnblogs.com/yuzhihui/p/17436413.html
宣告:歡迎任何形式的轉載,但請務必注明出處!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/553601.html
標籤:JavaScript
上一篇:基于Electron24+Vite4+Vue3搭建桌面端應用
下一篇:返回列表
