柚子快報邀請碼778899分享:.net 正則表達式密碼驗證
柚子快報邀請碼778899分享:.net 正則表達式密碼驗證
正則表達式密碼驗證
一、基礎正則表達式
1.1 至少1個大寫字母
(?=.*?[A-Z])
1.2 至少1個小寫英文字母
(?=.*?[a-z])
1.2 至少1位數字
(?=.*?[0-9])
1.2 至少有1個特殊字符
(?=.?[#?!@$%^&-])
1.3 最小8個長度
{8,}
二、常見密碼正則表達式
2.1 至少8-16個字符,至少1個大寫字母,1個小寫字母和1個數字,其他可以是任意字符
/(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[]{8,16}$/
/^(?=.[a-z])(?=.[A-Z])(?=.*\d)[\s\S]{8,16}$/
2.2 至少8個字符,至少1個大寫字母,1個小寫字母和1個數字,不能包含特殊字符(非數字字母)
^(?=.[A-Za-z])(?=.\d)[A-Za-z\d]{8,}$
2.3 至少8個字符,至少1個字母,1個數字和1個特殊字符
^(?=.[A-Za-z])(?=.\d)(?=.[
@
@
@!%#?&])[A-Za-z\d
@
@
@!%*#?&]{8,}$
2.4 至少8個字符,至少1個大寫字母,1個小寫字母和1個數字
^(?=.[a-z])(?=.[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$
2.5 至少8個字符,至少1個大寫字母,1個小寫字母,1個數字和1個特殊字符
^(?=.[a-z])(?=.[A-Z])(?=.\d)(?=.[
@
@
@!%?&])[A-Za-z\d
@
@
@!%?&]{8,}
2.6 最少8個最多十個字符,至少1個大寫字母,1個小寫字母,1個數字和1個特殊字符
^(?=.[a-z])(?=.[A-Z])(?=.\d)(?=.[
@
@
@!%?&])[A-Za-z\d
@
@
@!%?&]{8,10}
三、組合正則表達式
– 至少1個大寫英文字母 – 至少1個小寫英文字母 – 至少1位數字 – 至少1個特殊字符 – 最少8個長度
^(?=.?[A-Z])(?=(.[a-z]){1,})(?=(.[\d]){1,})(?=(.[\W]){1,})(?!.*\s).{8,}$
四、c#中使用正則表達式
// 密碼復雜度應至少包含三種字符(大寫、小寫、數字、特殊符號任選三種)
private static bool IsWeakPasswordReg(string password)
{
var reg_val = 0;
var pw_txt = password;
var reg = @"[*0-9]";//數字
if (Regex.IsMatch(pw_txt, reg))
{
reg_val += 1;
}
reg = @"[*a-z]";//小寫字母
if (Regex.IsMatch(pw_txt, reg))
{
reg_val += 1;
}
reg = @"[A-Z ]";//大寫字母
if (Regex.IsMatch(pw_txt, reg))
{
reg_val += 1;
}
reg = @"[\W_!@#$%^&`~()-+=]";//特殊字符
if (Regex.IsMatch(pw_txt, reg))
{
reg_val += 1;
}
if (reg_val < 3)
{
return false;
}
return true;
}
柚子快報邀請碼778899分享:.net 正則表達式密碼驗證
參考文章
本文內容根據網絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯系刪除。