最常用的15個前端表單驗證JS正則表達式

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

在表單驗證中,使用正則表達式來驗證正確與否是一個很頻繁的操作,本文收集整理了15個常用的JavaScript正則表達式,其中包括用戶名、密碼強度、整數、數字、電子郵件地址(Email)、手機號碼、身份證號、URL地址、 IPv4地址、 十六進制顏色、 日期、 QQ號碼、 微信號、車牌號、中文正則。

1 用戶名正則

//用戶名正則,4到16位(字母,數字,下劃線,減號)
var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;
//輸出 true
console.log(uPattern.test("caibaojian"));

2 密碼強度正則

//密碼強度正則,最少6位,包括至少1個大寫字母,1個小寫字母,1個數字,1個特殊字符
var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
//輸出 true
console.log("=="+pPattern.test("caibaojian#"));

3 整數正則

//正整數正則
var posPattern = /^\d+$/;
//負整數正則
var negPattern = /^-\d+$/;
//整數正則
var intPattern = /^-?\d+$/;
//輸出 true
console.log(posPattern.test("42"));
//輸出 true
console.log(negPattern.test("-42"));
//輸出 true
console.log(intPattern.test("-42"));

4 數字正則

可以是整數也可以是浮點數

//正數正則
var posPattern = /^\d*\.?\d+$/;
//負數正則
var negPattern = /^-\d*\.?\d+$/;
//數字正則
var numPattern = /^-?\d*\.?\d+$/;
console.log(posPattern.test("42.2"));
console.log(negPattern.test("-42.2"));
console.log(numPattern.test("-42.2"));

5 Email正則

//Email正則
var ePattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
//輸出 true
console.log(ePattern.test(<a href="mailto:99154507@qq.com" rel="external nofollow">99154507@qq.com</a>));

6 手機號碼正則

//手機號正則
var mPattern = /^1[34578]\d{9}$/; //http://caibaojian.com/regexp-example.html
//輸出 true
console.log(mPattern.test("15507621888"));

7 身份證號正則

//身份證號(18位)正則
var cP = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
//輸出 true
console.log(cP.test("11010519880605371X"));

8 URL正則

//URL正則
var urlP= /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
//輸出 true
console.log(urlP.test(<a href="http://caibaojian.com" rel="external nofollow">http://caibaojian.com</a>));

9 IPv4地址正則

//ipv4地址正則
var ipP = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
//輸出 true
console.log(ipP.test("115.28.47.26"));

10 十六進制顏色正則

//RGB Hex顏色正則
var cPattern = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;
//輸出 true
console.log(cPattern.test("#b8b8b8"));

11 日期正則

//日期正則,簡單判定,未做月份及日期的判定
var dP1 = /^\d{4}(\-)\d{1,2}\1\d{1,2}$/;
//輸出 true
console.log(dP1.test("2017-05-11"));
//輸出 true
console.log(dP1.test("2017-15-11"));
//日期正則,復雜判定
var dP2 = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;
//輸出 true
console.log(dP2.test("2017-02-11"));
//輸出 false
console.log(dP2.test("2017-15-11"));
//輸出 false
console.log(dP2.test("2017-02-29"));

12 QQ號碼正則

//QQ號正則,5至11位
var qqPattern = /^[1-9][0-9]{4,10}$/;
//輸出 true
console.log(qqPattern.test("65974040"));

13 微信號正則

//微信號正則,6至20位,以字母開頭,字母,數字,減號,下劃線
var wxPattern = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;
//輸出 true
console.log(wxPattern.test("caibaojian_com"));

14 車牌號正則

//車牌號正則
var cPattern = /^[京津滬渝冀豫云遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陜吉閩貴粵青藏川寧瓊使領A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9掛學警港澳]{1}$/;
//輸出 true
console.log(cPattern.test("粵B39006"));

15 包含中文正則

//包含中文正則
var cnPattern = /[\u4E00-\u9FA5]/;
//輸出 true
console.log(cnPattern.test("董董董"));

轉載于:https://my.oschina.net/u/2393989/blog/2395883

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

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

相關文章

程序員個人外包合同怎么寫?

分享一份工作上經常用到的個人外包合同協議&#xff0c;該協議通過了法務與財務審核&#xff0c;兼顧甲乙雙方利益&#xff0c;程序員接私活必備&#xff01;&#xff01;&#xff01;&#xff01; ---需要電子word版&#xff0c;請關注--------- 回復&#xff1a;個人外包合同…

rocketmq新擴容的broker沒有tps_深入研究RocketMQ消費者是如何獲取消息的

前言小伙伴們&#xff0c;國慶都過的開心嗎&#xff1f;國慶后的第一個工作日是不是很多小伙伴還沉浸在假期的心情中&#xff0c;沒有工作狀態呢&#xff1f;那王子今天和大家聊一聊RocketMQ的消費者是如何獲取消息的&#xff0c;通過學習知識來找回狀態吧。廢話不多說&#xf…

蘇寧 11.11:倉庫內多 AGV 協作的全局路徑規劃算法研究

本文為『InfoQ x 蘇寧 2018雙十一』技術特別策劃系列文章之一。 1. 背景 隨著物聯網和人工智能的發展&#xff0c;越來越多的任務漸漸的被機器人取代&#xff0c;機器人逐漸在發展中慢慢進入物流領域&#xff0c;“智能叉車”&#xff0c;AGV&#xff08;Automated Guided Vehi…

老板思維:工作負責人是首問責任制

工作負責人包括部門領導&#xff0c;項目經理等負責人。以項目經理為例&#xff0c;解釋這種思維。 分好幾種情況&#xff1a; &#xff08;1&#xff09;當公司&#xff08;老板&#xff0c;領導&#xff0c;甲方&#xff09;將事情交給你的時候&#xff0c;這件事情就由你負…

用python繪制玫瑰花的代碼_python也能玩出玫瑰花!程序員的表白代碼

有些情侶是異地戀&#xff0c;情人節想送朵玫瑰花給女朋友都困難。別擔心&#xff0c;用Python就好了&#xff0c;互聯網時代的戀愛神器&#xff01;接下來就讓我們一起來看看如何用Python變出玫瑰花的。 1、首先我們導入畫圖工具turtle&#xff0c;即import turtle 2、導入畫圖…

Springboot 整合 swagger

版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主允許不得轉載。 https://blog.csdn.net/weixin_40254498/article/details/83622098 swagger 主要是為后端服務的接口文檔&#xff0c;懶人必備&#xff0c;swagger就是一款讓你更好的書寫API文檔的框架。 其他的框架…

Project為項目設置預算

假設項目預算10萬元&#xff0c;如果項目完成后&#xff0c;花費沒有超過10萬元&#xff0c;則成本管理是成功的&#xff0c;如果花費了11萬&#xff0c;則超過了預算。 預算是10萬&#xff0c;一般目標成本設得比預算成本低&#xff0c;比如9.5萬。在項目實施過程中&#xff…

activiti7流程設計器_變頻空調器通信電路

通信電路由室內機和室外機主板兩個部分單元電路組成&#xff0c;并且在實際維修中該電路的故障率比較高&#xff0c;因此單設--節進行詳細說明。第三章變頻空調器單元電路對比和通信電路第二節通信電路通信電路由室內機和室外機主板兩個部分單元電路組成&#xff0c;并且在實際…

PyCharm 中為 Python 項目添加.gitignore文件

文章目錄 1.安裝.ignore插件 2.在項目中添加.ignore文件 1.安裝.ignore插件 在pycharm編譯器中&#xff0c;依次點擊File->Setting 在跳出Setting的頁面中&#xff0c;執行如下操作&#xff1a; 點擊左側的Plugins&#xff0c; 在搜索框中輸入.ignore 點擊右側的install 點…

mysql的分頁查詢

為什么80%的碼農都做不了架構師&#xff1f;>>> order by case when 的用法&#xff08;實現特殊情況的排序&#xff0c;如leader1的排最前面&#xff09;&#xff1a; select * from m_worker_project order by CASE WHEN leader 1 THEN 100 ELSE 1000 END 項目中…

.describe() python_python的apply應用:一般性的“拆分-應用-合并”,附加詳細講解

跟aggregate一樣&#xff0c;transform也是一個有著嚴格條件的特殊函數&#xff1a;傳入的函數只能產生兩種結果&#xff0c;要么產生一個可以傳播的標量值(如np.mean)&#xff0c;要么產生一個相同大小的結果數組。最一般化的GroupBy方法是apply&#xff0c;apply會將待處理的…

DNS服務(4)Slave DNS及高級特性

為了簡化運維人員的負擔&#xff0c;使用Master/Slave DNS架構的情況比較好&#xff0c;現在我們來簡單敘述一下Master/Slaver DNS的特點主DNS服務器&#xff1a;維護所負責解析的域內解析庫服務器&#xff1b;解析庫由管理員維護&#xff1b;從DNS服務器:從主DNS服務器或其它的…

python運算符_Python運算符總結

建議&#xff1a;字符串拼接操作盡量多用join&#xff0c;而減少用”“ join操作時會先計算字符操作所用到的空間總和大小&#xff0c;然后申請內存。然后進行字符串連接操作。所以join的時間復雜的近似O(n)。 操作符連接操作符時&#xff0c;由于字符串是不可變對象&#xff0…

jupyter notebook常用快捷鍵

Jupyter Notebook 有兩種鍵盤輸入模式。編輯模式&#xff0c;允許你往單元中鍵入代碼或文本&#xff1b;這時的單元框線是綠色的。命令模式&#xff0c;鍵盤輸入運行程序命令&#xff1b;這時的單元框線是灰色。 命令模式 (按鍵 Esc 開啟) Enter : 轉入編輯模式Shift-Enter : …

Eclipse安裝試用Hanlp

【1】確定正確安裝配置Java和Eclipse 【2】下載HanLp的各種東西 hanlp.linrunsoft.com/services.ht… 下載這四個文件到本地&#xff0c;我是放在桌面的一個文件夾了。【3】 把jar包導入到Eclipse 在Eclipse先新建一個項目File——New——Java Project--[名字&#xff1a;Hanlp…

升級pip最新版本

python很多庫對pip版本有要求&#xff0c;升級命令為&#xff1a; python -m pip install --upgrade pip windows在cmd下&#xff0c;輸入以上命令

bat 存儲過程返回值_使用Mybatis過程中遇到的坑

常規SSM框架開發中&#xff0c;mybatis遇到的坑是最多的&#xff0c;把以下幾點坑記錄下來防止以后再遇到同樣的情況。1、mybatis 若果在mapper中返回值沒有配置resultMap而是使用resultType直接返回的話&#xff0c;那么當心默認配置中的駝峰匹配規則&#xff0c;參考以下配置…

【洛谷 P2513】 [HAOI2009]逆序對數列(DP)

題目鏈接 這種求方案數的題一般都是\(dp\)吧。 注意到范圍里\(k\)和\(n\)的范圍一樣大&#xff0c;\(k\)是完全可以更大的&#xff0c;到\(n\)的平方級別&#xff0c;所以這暗示了我們要把\(k\)寫到狀態里。\(f[i][j]\)表示前\(1\)~\(i\)的排列逆序對數為\(j\)的方案數。 現在考…

think python下載 中文版開源!這或許是最經典的編程教材

《Think Python》是很多Python初學者的不二入門教材&#xff0c;受到廣泛好評。該書原作者是美國Olin工程學院的教授Allen B. Downey&#xff0c;目前該書的原版和中文版本都已免費開源。 中文版本譯者是一名自學Python的編程愛好者。選擇翻譯《Think Python》&#xff0c;一是…

datatable的數據進行組內排序_排序算法學習分享(四)希爾排序

排序&#xff0c;也稱為排序算法&#xff0c;可以說是我們學習算法的過程中遇到的第一個門檻&#xff0c;也是實際應用中使用得較為頻繁的算法&#xff0c;我將自己對所學的排序算法進行一個歸納總結與分享&#xff0c;如有錯誤&#xff0c;歡迎指正&#xff01;排序算法學習分…