整理項目中經常用到的正則

目錄

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。。。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/10517.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/10517.shtml
英文地址,請注明出處:http://en.pswp.cn/web/10517.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JavaScript之數據類型(3)——object進階

前言&#xff1a; 利用基礎知識來構建對象會發現十分復雜&#xff0c;我們可以結合其他的知識點來為我們object的構建進行優化。 <1>工廠法&#xff1a; 基本格式&#xff1a; function creatObject(屬性值1,屬性值2,屬性值3,...,屬性值n) {var 對象名 new Object();對…

在IDEA中使用 Spring Initializr 新建 spring boots 項目

【在IDEA中使用 Spring Initializr 新建 spring boots 項目 - CSDN Apphttp://t.csdnimg.cn/mVs5P Spring Initializr 創建spring boots項目 添加到pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connec…

Python | Leetcode Python題解之第84題柱狀圖中最大的矩形

題目&#xff1a; 題解&#xff1a; class Solution:def largestRectangleArea(self, heights: List[int]) -> int:n len(heights)left, right [0] * n, [n] * nmono_stack list()for i in range(n):while mono_stack and heights[mono_stack[-1]] > heights[i]:righ…

代碼隨想錄算法訓練營day21 | 513.找樹左下角的值、112. 路徑總和、106.從中序與后序遍歷序列構造二叉樹

513.找樹左下角的值 迭代法比較簡單&#xff0c;層序遍歷&#xff0c;找到最下面一層的第一個節點。題目已經說明節點數>1了 class Solution:def findBottomLeftValue(self, root: Optional[TreeNode]) -> int:queue collections.deque()queue.append(root)result ro…

LeetCode題練習與總結:復原IP地址--93

一、題目描述 有效 IP 地址 正好由四個整數&#xff08;每個整數位于 0 到 255 之間組成&#xff0c;且不能含有前導 0&#xff09;&#xff0c;整數之間用 . 分隔。 例如&#xff1a;"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址&#xff0c;但是 &qu…

Rust學習筆記(中)

前言 筆記的內容主要參考與《Rust 程序設計語言》&#xff0c;一些也參考了《通過例子學 Rust》和《Rust語言圣經》。 Rust學習筆記分為上中下&#xff0c;其它兩個地址在Rust學習筆記&#xff08;上&#xff09;和Rust學習筆記&#xff08;下&#xff09;。 錯誤處理 pani…

01、什么是ip、協議、端口號知道嗎?計算機網絡通信的組成是什么?

聲明&#xff1a;本教程不收取任何費用&#xff0c;歡迎轉載&#xff0c;尊重作者勞動成果&#xff0c;不得用于商業用途&#xff0c;侵權必究&#xff01;&#xff01;&#xff01; 目錄 前言 計算機網絡 網絡ip地址 網絡協議 網絡端口號 前言 最近有個項目要用到相關文章…

Android — 使用 Runtime 獲取日志并保存至 download 目錄

萬一哪天要用找不到 使用 Runtime 獲取日志并保存至 download 目錄。 try {final String path Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() File.separator;ArrayList<String> commandLine new ArrayList&l…

藍橋杯單片機之模塊代碼《多樣點燈方式》

過往歷程 歷程1&#xff1a;秒表 歷程2&#xff1a;按鍵顯示時鐘 歷程3&#xff1a;列矩陣按鍵顯示時鐘 歷程4&#xff1a;行矩陣按鍵顯示時鐘 歷程5&#xff1a;新DS1302 歷程6&#xff1a;小數點精確后兩位ds18b20 歷程7&#xff1a;35定時器測量頻率 歷程8&#xff…

大數據Scala教程從入門到精通第六篇:Scala編譯結果反編譯分析

一&#xff1a;Scala編譯結果反編譯分析 問題&#xff1a;為什么Scalac之后的生成的class文件有兩個&#xff0c;一個帶$的&#xff0c;一個不帶$的&#xff1f; 不能直接java 執行scala編譯的字節碼文件。 直接運行的話就會報錯&#xff0c;會報一個類沒有被找到。 引入類庫就…

JavaScript 防抖與節流——以游戲智慧解鎖實戰奧秘

&#x1f525; 個人主頁&#xff1a;空白詩 文章目錄 &#x1f3ae; 引言? 什么是防抖和節流&#x1f3f9; 防抖(Debounce) - 鎖定追擊&#xff0c;精確無誤&#x1f4cc; 基礎概念&#x1f4cc; 適用場景&#x1f4cc; 實戰代碼&#xff1a;防抖 應用于輸入框的實時搜索 &…

經濟學博弈論介紹

經濟學博弈論是經濟學的一個重要分支&#xff0c;研究經濟主體之間的策略選擇和互動。博弈論的核心理論框架是“博弈”&#xff0c;即在不確定對方行為的情況下&#xff0c;個體根據自身利益和目標制定策略。 在經濟學博弈論中&#xff0c;個體被稱為“博弈者”&#xff0c;他…

Java基礎入門day48

day48 JDBC調用關系 tomcat 簡介 tomcat是Apache下的一個核心項目&#xff0c;免費開源&#xff0c;支持servlet和jsp。 tomcat技術先進&#xff0c;性能穩定&#xff0c;目前比較流行的web應用服務器 安裝 官網&#xff1a; Apache Tomcat - Welcome! 下載 tomcat8.5 解壓&a…

Linux入門攻堅——23、DNS和BIND基礎入門1

DNS——Domain Name Service&#xff0c;協議&#xff08;C/S&#xff0c;53/udp&#xff0c;53/tcp&#xff09; BIND——Berkeley Internet Name Domain&#xff0c;ISC&#xff08;www.isc.org&#xff09; 互聯網絡上主機之間的通信依靠的是IP&#xff0c;而人或程序一般使…

tailwindcss大綱

布局 css說明地址aspect-ratio用于控制元素縱橫比Aspect Ratio - Tailwind CSSwidth <br />max-widthcontainer&#xff1a;用于將元素的寬度固定到當前斷點的組件Container - Tailwind CSScolumns用于控制元素內列數Columns - Tailwind CSSbreak-after用于控制列或頁在…

通義靈碼企業版正式發布,滿足企業私域知識檢索、數據合規、統一管理等需求

5 月 9 日阿里云 AI 峰會&#xff0c;阿里云智能集團首席技術官周靖人宣布&#xff0c;通義靈碼企業版正式發布&#xff0c;滿足企業用戶的定制化需求&#xff0c;幫助企業提升研發效率。 通義靈碼是國內用戶規模第一的智能編碼助手&#xff0c;基于 SOTA 水準的通義千問代碼模…

基于 element-ui 表格組件 el-table 導出表格數據

方法一&#xff1a;前端處理&#xff0c;直接導出 e-table 組件的表格數據 import XLSX from xlsx;/*** el-table 表格導出* param {*} idSelector id選擇器* param {*} name 導出表格名稱* param {*} remove 表格是否存在左/右固定列&#xff0c;存在則傳入true&#xff0c;反…

在MyBatis中,如何將數據庫中的字符串類型映射為枚舉類型?

在MyBatis中&#xff0c;如何將數據庫中的字符串類型映射為枚舉類型&#xff1f; 網上看了很多教程。說了很多&#xff0c;但是都沒說到重點&#xff01; 很簡單&#xff0c;xml文件中&#xff0c; 使用resultType&#xff0c;而不是使用resultMap就可以了。 resultType"…

用HAL庫改寫江科大的stm32入門例子8-1 DMA數據轉運

實驗1-實驗目的&#xff1a;通過DMA把buffer的數據搬運到buffer2當中。 //declare a buffer to store the data uint32_t buffer[3] {1,2,3};//declare a buffer to store the data uint32_t buffer2[3] {0,0,0}; DMA&#xff1a;是個搬運數據的小助手。 相關設置&#xff1…

Baidu Comate:釋放編碼潛能,革新軟件開發

Baidu Comate Baidu Comate&#xff0c;智能代碼助手&#xff0c;憑借著文心大模型的強大支撐&#xff0c;結合了百度多年的編程實戰數據和豐富的開源資源&#xff0c;形成了一款嶄新的編碼輔助利器。它不僅具備著高智能、多場景、價值創造的特質&#xff0c;更可廣泛應用于各…