常用的一些正則正則效驗

作爲程序猿(程序媛),寫帶有表單的項目是肯定會有的,但一般來說雖然後臺會有一些判斷/驗證邏輯,可我們不能把任務都丟給後臺,這裏小汪列了一些比較常用的正則驗證
1.用戶賬號驗證:
規則:用戶賬號開頭需是字母,中間到結尾可以有字母、數字、字符,但字符只能是_(下劃線)

let accountNumParent = /^[a-zA-Z][a-zA-Z0-9_]{4,15}$/;
console.log(accountNumParent.test('q123_25'));返回 true
console.log(accountNumParent.test('q123@45'));返回 false

2.密碼驗證(高強度):
規則:必須有包含一個以上的 大寫字母、小寫字母、數字、以及規定的字符,6-16位
想修改規則的小夥伴可根據需求複製後自行修改喔,下方代碼有示例

let passwordParent = /^(?=.*\d)(?=.*[.!@.?#*&%^])(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9.!@.?#*&%^]{6,16}$/;
console.log(passwordParent.test("QaQ1314520."));返回 true

只需包含一個大小寫字母與數字正則6-16/^(?=.*\d)(?=.*[A-Za-z]) 
passwordParent = /^(?=.*\d)(?=.*[A-Za-z])[a-zA-Z0-9.!@.?#*&%^]{6,16}$/;
console.log(passwordParent.test("Q1314520."));返回 true

3.手機號正則:
規則:滿足 1開頭 第二位爲3/9的 第三位可以是0-9或第二位爲4的第三位爲5/7/9以此類推,到最後必須是數字且後續是8位數

let NumParent = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
console.log(NumParent.test(13114115116));//返回 true
console.log(NumParent.test(17914115116));//返回 false

4.身份證正則:
規則:15位數字或18位數字或17位數字+(1位數字或X或x)

let userParent = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
console.log(userParent.test("420222202001230123"));返回 true
console.log(userParent.test("42022220200123012X"));返回 true
console.log(userParent.test("4202222020012301X"));返回 false

5.郵箱正則:

let EmailPattern = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
console.log(EmailPattern.test('[email protected]'));返回 true
console.log(EmailPattern.test('[email protected]'));返回 true
注意:這裏是亂填的郵箱

6.鏈接正則:

let urlParent = /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
console.log(urlParent.test("http://www.baidu.com"));返回 true
console.log(urlParent.test("https://www.baidu.com"));返回 true
console.log(urlParent.test("httpx://www.baidu.com"));返回 false

7.16進制顏色正則

var cPattern = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;
console.log(cPattern.test("#b8b8b8"));返回 true

8.車牌號正則:

var LPPattern = /^[京津滬渝冀豫雲遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陝吉閩貴粵青藏川寧瓊使領A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9掛學警港澳]{1}$/;
console.log(LPPattern.test("鄂A88888"));返回 true

9.文字正則:

var textPattern = /[\u4E00-\u9FA5]/;
console.log(cnPattern.test("加油武漢")); 返回 true

10.QQ號正則:

var qqPattern = /^[1-9][0-9]{4,10}$/;
console.log(qqPattern.test("1369221535"));返回 true
注意:亂輸的QQ

11.微信號正則:

var wxPattern = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;
console.log(wxPattern.test("wx_xw001"));返回 true
注意:亂輸的微信號

以上是小汪認爲可能會經常用到的正則了,如果有幫助,別忘了點個贊喲(有問題也記得提醒小汪修改,萬分感謝)。
下面小汪簡單寫一下對正則符號的解析:

1.正則元字符
	【\d 匹配數字】         
	\D 匹配任意非數字的字符      
	【\w 匹配字母或數字或下劃線】
	\W 匹配任意不是字母,數字,下劃線 
	\s 匹配任意的空白符 【包括空格、製表符、換頁符等 】     
	\S 匹配任意不是空白符的字符    
	【\r 匹配一個回車符 】
	【\n 換行符匹配;.  匹配除換行符以外的任意單個字符 
	【 ^  表示匹配行首的文本(以誰開始) 】
	【$  表示匹配行尾的文本(以誰結束)2.限定符  
	*     重複零次或更多次 
	+     重複一次或更多次 
	?     重複零次或一次  
	{n}   重複n次     
	{n,}  重複n次或更多次 
	{n,m} 重複n到m次   
3.正則表達式標誌
	【g	全局搜索。
	i	不區分大小寫搜索。】
	m	多行搜索。

如小夥伴有時間可以看菜鳥教程學習,這裏面有比較詳細的解析,對應的字符是什麼作用,以及正則表達式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章