柚子快報(bào)邀請(qǐng)碼778899分享:.net 正則表達(dá)式密碼驗(yàn)證
柚子快報(bào)邀請(qǐng)碼778899分享:.net 正則表達(dá)式密碼驗(yàn)證
正則表達(dá)式密碼驗(yàn)證
一、基礎(chǔ)正則表達(dá)式
1.1 至少1個(gè)大寫字母
(?=.*?[A-Z])
1.2 至少1個(gè)小寫英文字母
(?=.*?[a-z])
1.2 至少1位數(shù)字
(?=.*?[0-9])
1.2 至少有1個(gè)特殊字符
(?=.?[#?!@$%^&-])
1.3 最小8個(gè)長(zhǎng)度
{8,}
二、常見密碼正則表達(dá)式
2.1 至少8-16個(gè)字符,至少1個(gè)大寫字母,1個(gè)小寫字母和1個(gè)數(shù)字,其他可以是任意字符
/(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[]{8,16}$/
/^(?=.[a-z])(?=.[A-Z])(?=.*\d)[\s\S]{8,16}$/
2.2 至少8個(gè)字符,至少1個(gè)大寫字母,1個(gè)小寫字母和1個(gè)數(shù)字,不能包含特殊字符(非數(shù)字字母)
^(?=.[A-Za-z])(?=.\d)[A-Za-z\d]{8,}$
2.3 至少8個(gè)字符,至少1個(gè)字母,1個(gè)數(shù)字和1個(gè)特殊字符
^(?=.[A-Za-z])(?=.\d)(?=.[
@
@
@!%#?&])[A-Za-z\d
@
@
@!%*#?&]{8,}$
2.4 至少8個(gè)字符,至少1個(gè)大寫字母,1個(gè)小寫字母和1個(gè)數(shù)字
^(?=.[a-z])(?=.[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$
2.5 至少8個(gè)字符,至少1個(gè)大寫字母,1個(gè)小寫字母,1個(gè)數(shù)字和1個(gè)特殊字符
^(?=.[a-z])(?=.[A-Z])(?=.\d)(?=.[
@
@
@!%?&])[A-Za-z\d
@
@
@!%?&]{8,}
2.6 最少8個(gè)最多十個(gè)字符,至少1個(gè)大寫字母,1個(gè)小寫字母,1個(gè)數(shù)字和1個(gè)特殊字符
^(?=.[a-z])(?=.[A-Z])(?=.\d)(?=.[
@
@
@!%?&])[A-Za-z\d
@
@
@!%?&]{8,10}
三、組合正則表達(dá)式
– 至少1個(gè)大寫英文字母 – 至少1個(gè)小寫英文字母 – 至少1位數(shù)字 – 至少1個(gè)特殊字符 – 最少8個(gè)長(zhǎng)度
^(?=.?[A-Z])(?=(.[a-z]){1,})(?=(.[\d]){1,})(?=(.[\W]){1,})(?!.*\s).{8,}$
四、c#中使用正則表達(dá)式
// 密碼復(fù)雜度應(yīng)至少包含三種字符(大寫、小寫、數(shù)字、特殊符號(hào)任選三種)
private static bool IsWeakPasswordReg(string password)
{
var reg_val = 0;
var pw_txt = password;
var reg = @"[*0-9]";//數(shù)字
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;
}
柚子快報(bào)邀請(qǐng)碼778899分享:.net 正則表達(dá)式密碼驗(yàn)證
參考文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。