目錄
1、手機號碼
2、Email 郵箱
3、QQ 號碼
4、非零正整數
5、URL 地址
6、身份證號
項目中難免會經常使用到表單,而表單項校驗就需要用到正則,
所以整理總結一下自己項目中使用比較頻繁的一些正則校驗邏輯。
正則表達式?是由一些具有特殊含義的字符組成的字符串,多用于查找、替換符合規則
的字符串。在表單驗證、Url映射等處都會經常用到。
在寫正則表達式的時候,我們需要把模式寫入一對?/ /?正斜杠里面
/正則表達式/匹配模式
1、手機號碼
/*** 手機號碼正則* @param {string} phone* @returns {Boolean}*/
export function validPhone(phone) {// const reg = /^1[3456789]\d{9}$/;const reg =/^\s{0}$|(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;return reg.test(phone);
}
2、Email 郵箱
/*** Email 郵箱正則* @param {string} phone* @returns {Boolean}*/
export function validEmail(emial) {const reg =/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z-0-9]+\.)+[a-zA-Z]{2,}))$/;return reg.test(emial);
}
3、QQ 號碼
/*** QQ 號碼* @param {string} QQ* @returns {Boolean}*/
export function validQQ(QQ) {const reg = /^[1-9][0-9]{4,10}$/;return reg.test(QQ);
}
4、非零正整數
/*** 非零的正整數* @param {string} integer* @returns {Boolean}*/
export function validInteger(integer) {const reg = /^[1-9]\d*$/;return reg.test(integer);
}
5、URL 地址
/*** url 地址* @param {string} url* @returns {Boolean}*/
export function validURL(url) {const reg =/^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/;return reg.test(url);
}
6、身份證號
/*** 身份證號* @param {string} id* @returns {Boolean}*/
export function validId(id) {const reg =/^[1-9][0-9]{5}(18|19|([23][0-9]))[0-9]{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])[0-9]{3}[0-9Xx]$/gm;return reg.test(id);
}
7、
推薦小白觀看文章 :
正則表達式 _ 基礎版
元字符?? ?描述
.? ? ? 查找單個字符,除了換行和行結束符
\w?? ?查找單詞字符
\W?? ?查找非單詞字符
\d?? ?查找數字
\D?? ?查找非數字字符
\s?? ?查找空白字符
\S?? ?查找非空白字符
\b?? ?匹配單詞邊界
\B?? ?匹配非單詞邊界
\0?? ?查找 NUL字符
\n?? ?查找換行符
\f?? ?查找換頁符
\r?? ?查找回車符
\t?? ?查找制表符
\v?? ?查找垂直制表符
\xxx?? ?查找以八進制數 xxxx 規定的字符
\xdd?? ?查找以十六進制數 dd 規定的字符
\uxxxx?? ?查找以十六進制 xxxx規定的 Unicode 字符
重復類量詞列表
量詞?? ?描述
n+?? ?匹配任何包含至少一個 n 的字符串
n*?? ?匹配任何包含零個或多個 n 的字符串
n??? ?匹配任何包含零個或一個 n 的字符串
n{x}?? ?匹配包含 x 個 n 的序列的字符串
n{x,y}?? ?匹配包含最少 x 個、最多 y 個 n 的序列的字符串
n{x,}?? ?匹配包含至少 x 個 n 的序列的字符串
JavaScript 正則表達式支持的邊界量詞
量詞?? ?說明
^?? ?匹配開頭,在多行檢測中,會匹配一行的開頭
$?? ?匹配結尾,在多行檢測中,會匹配一行的結尾
終于碼完辣!你學廢了嗎?碼字不易,大家多多點贊支持!
會持續更新的,?Loading。。。