javascript

位置:IT落伍者 >> javascript >> 浏览文章

用Javascript评估用户输入密码的强度


发布日期:2020年12月29日
 
用Javascript评估用户输入密码的强度
密码已经是我们生活工作中必不可少的工具但一个不安全的密码有又有可能会给我们造成不必要的损失作为网站设计者如果我们在网页中能对用户输入的密码进行安全评估并显示出相应的提示信息那么对用户设置一个安全的密码将有很大帮助同时也使得网站更具人性化更有吸引力

什么是一个安全的密码呢?本程序按以下的方式进行评估

如果密码少于那么就认为这是一个弱密码

如果密码只由数字小写字母大写字母或其它特殊符号当中的一种组成则认为这是一个弱密码

如果密码由数字小写字母大写字母或其它特殊符号当中的两种组成则认为这是一个中度安全的密码

如果密码由数字小写字母大写字母或其它特殊符号当中的三种以上组成则认为这是一个比较安全的密码

本程序将根据用户输入的密码分别显示不同的颜色表示密码的强度具体程序如下:

以下是引用片段

<scriptlanguage=javascript>

//CharMode函数

//测试某个字符是属于哪一类

functionCharMode(iN){

if(iN>=&&iN<=)//数字

return;

if(iN>=&&iN<=)//大写字母

return;

if(iN>=&&iN<=)//小写

return;

else

return;//特殊字符

}

//bitTotal函数

//计算出当前密码当中一共有多少种模式

functionbitTotal(num){

modes=;

for(i=;i<;i++){

if(num&)modes++;

num>>>=;

}

returnmodes;

}

//checkStrong函数

//返回密码的强度级别

functioncheckStrong(sPW){

if(sPWlength<=)

return;//密码太短

Modes=;

for(i=;i<sPWlength;i++){

//测试每一个字符的类别并统计一共有多少种模式

Modes|=CharMode(sPWcharCodeAt(i));

}

returnbitTotal(Modes);

}

//pwStrength函数

//当用户放开键盘或密码输入框失去焦点时根据不同的级别显示不同的颜色

functionpwStrength(pwd){

O_color=#eeeeee;

L_color=#FF;

M_color=#FF;

H_color=#CC;

if(pwd==null||pwd==){

Lcolor=Mcolor=Hcolor=O_color;

}

else{

S_level=checkStrong(pwd);

switch(S_level){

case:

Lcolor=Mcolor=Hcolor=O_color;

case:

Lcolor=L_color;

Mcolor=Hcolor=O_color;

break;

case:

Lcolor=Mcolor=M_color;

Hcolor=O_color;

break;

default:

Lcolor=Mcolor=Hcolor=H_color;

}

}

documentgetElementById(strength_L)stylebackground=Lcolor;

documentgetElementById(strength_M)stylebackground=Mcolor;

documentgetElementById(strength_H)stylebackground=Hcolor;

return;

}

</script>

<formname=formaction=>

输入密码:<inputtype=passwordsize=onKeyUp=pwStrength(thisvalue)onBlur=pwStrength(thisvalue)>

<br>密码强度:

<tablewidth=border=cellspacing=cellpadding=bordercolor=#ccccccheight=style=display:inline>

<tralign=centerbgcolor=#eeeeee>

<tdwidth=%id=strength_L>弱</td>

<tdwidth=%id=strength_M>中</td>

<tdwidth=%id=strength_H>强</td>

</tr>

</table>

</form>

上一篇:用JavaScript验证密码强度

下一篇:Javascript 最简单检测网速的方法和应用