一個正則表示式驗證密碼強度
- privateint CheckSecurity(string pwd)
- {
- return Regex.Replace(pwd, "^(?:([a-z])|([A-Z])|([0-9])|(.)){6,}|(.)+$", "$1$2$3$4$5").Length;
- }
在網上看過很多種驗證密碼強度的方法,但無一不長篇大論。
今天無意發現一種很牛X的方法,利用正則,且只有一句話就搞定了。
大概介紹一下:
密碼字元包括:小寫字母、大寫字母、數字、符號等;
這個正則會得到五個捕獲組,前四個捕獲組會告訴我們這個字串包含有多少種組合(返回多少個匹配代表多少種組合)
如果這個字串小於6位的話,則會得到第五個捕獲組,長度為1(即強度為1),如果沒有輸入,就連捕獲組5都不會得到(強度為0)
雖然是一句話的函式,但卻考了好多個正則的知識點:範圍、包含、長度、捕獲、替換。膜拜一下!
不過作者貌似說還有待改進,我想,應該是特殊字元,例如全形字元不能正確識別的問題吧。正常使用不受影響。
相關推薦
一個正則表示式驗證密碼強度
privateint CheckSecurity(string pwd) { return Regex.Replace(pwd, "^(?:([a-z])|([A-Z])|([0-9])|(.)){6,}|(.)+$", "$1$2$3$4$5").Length; } 在網上看過很多種驗證
使用正則表示式驗證密碼長度
實現效果: 知識運用: 實現程式碼: private void button1_Click(object sender, EventArgs e) { if (Validate(textBox1.Text.ToString()
js簡單正則表示式驗證密碼
包含3種及以上 var reg = new RegExp("^(?![A-Za-z]+$)(?![A-Z\\d]+$)(?![A-Z\\W]+$)(?![a-z\\d]+$)(?![a-z\\W]+$)(?![\\d\\W]+$)^[a-zA-Z0-9!#*_]{8,20}$");
Python 正則表示式驗證密碼完整性
Regular Expression 1. Length between 8 and 32 characters ^[\s\S]{8,32}$ 2. ASCII visible and space characters only Rule: match A-Z,0-9,a
JS的常用正則表示式 驗證密碼使用者名稱等JS正則
JS的正則表示式 //校驗是否全由數字組成 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false return true } //校驗登入名:只能輸入5-20個以字母開頭、可帶數字、“_
JS的常用正則表示式 驗證密碼
JS的正則表示式 強:字母+數字+特殊字元 ^(?![a-zA-z]+$)(?!\d+$)(?![[email protected]#$%^&*]+$)(?![a-zA-z\d]+$)(?![[emai
正則表示式——驗證密碼輸入6-8位字母和數字(失去焦點觸發)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>失去焦點觸發事件</title> <script>
使用正則表示式驗證一個月的31天
實現效果: 關鍵運用: 實現程式碼: public bool IsValidateDay(string str_day) { return System.Text.RegularExpressions.
用正則表示式驗證使用者名稱密碼
<script language="javascript" type="text/javascript"> function a(){ var yhm=document.getElementById("yhm").value; var reg=/^[a-zA-Z
Java中各種正則表示式驗證[郵箱、密碼前後空格、日期合法、IP]
一、驗證郵箱是否正確 public class ForTest { public static void main(String[] args) { System.out.println("123"); String email = "[email protect
示例正則表示式驗證6位數字密碼
function servicePwd() { var str = $("#numr").val().trim(); if(str.length!=6){ reg=/^\d{6}$/;
利用正則表示式驗證兩次密碼是否一致
效果: <mx:StringValidator id="pwdVal" source="{passwd}" property="text" minLength="6" maxLength="12" requir
JavaScript 正則表示式驗證登入例項
程式碼片段: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>qq登入模擬測試</title> </head> <
正則表示式驗證問題
<!DOCTYPE html><html><body><p>使用者名稱正則表示式 ,4到16位(字母,數字,下滑線,減號)</p><p id="demo"></p><form action="" method="get"
js正則表示式驗證字串只包括大小寫字母下劃線和-
背景說明 在之前的開發過程中為了校驗一個欄位只含有大小寫字母,下劃線和-花費了不少力氣才搞定,想著趕快寫一篇部落格來記錄下來,日後開發一定會遇到!! 程式碼實現 首先定義一個變數用來存放驗證字串的正則表示式:var regex=/^[A-Za-z0-9_\-]+$/ig;
正則表示式驗證url、時間、ip
//驗證url function IsURL(str_url){ var strRegex = "^((https|http|ft
微信小程式-正則表示式(驗證手機號-身份證-郵箱..)
手機號驗證: if (!(/^1[34578]\d{9}$/.test(e.detail.value.phone))) { wx.showToast({ title: '手機號碼有誤', duration: 2000, icon:'none' }); return false
正則表示式驗證合法電話號碼
中國移動:134/135/136/137/138/139/150/151/152/157/158/159/182/183/184/187/188/147/178/1705 中國聯通:130/131/132/155/156/185/186/145/175/176/1709
正則表示式---驗證身份證號碼
/** * 正則表示式驗證身份證號碼 * * @param integer $num 所要驗證的身份證號碼 * @return boolean */ public static function isPersonalCard($
【javascript】使用正則表示式驗證
管理系統專案上用到的正則表示式驗證: 一、驗證手機號碼 最新的手機號驗證。 function checkMobilePhone(str){ var reg = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|1