html5 设置密码验证强度,js如何验证密码强度

验证“密码强度”的例子很常见,我们注册新的账号的时候往往设置密码,此时就遇到验证密码强度的问题了。“密码强度”也就是密码难易程度的意思。

原理:

1、如果输入的密码为单纯的数字或者字母:提示“低”

2、如果是数字和字母混合的:提示“中”

3、如果数字、字母、特殊字符都有:提示“强”

下面是一种“密码强度”的验证方法,觉得很有意思。

HTML和CSS代码:

密码强度

#pwdStrength {

height: 30px;

width: 180px;

border: 1px solid #ccc;

padding: 2px;

}

.strengthLv1 {

background: red;

height: 30px;

width: 60px;

}

.strengthLv2 {

background: orange;

height: 30px;

width: 120px;

}

.strengthLv3 {

background: green;

height: 30px;

width: 180px;

}

#pwd {

height:30px;

font-size :20px;

}

strong {

margin-left:90px;

}

#pwd1 {

color:red;

margin-top:5px;

margin-bottom:5px;

}

密码强度:

javascript代码:

function PasswordStrength(passwordID, strengthID) {

this.init(strengthID);

var _this = this;

document.getElementById(passwordID).onkeyup = function () {//onkeyup 事件,在键盘按键被松开时发生,进行判断

_this.checkStrength(this.value);

}

};

PasswordStrength.prototype.init = function (strengthID) {

var id = document.getElementById(strengthID);

var div = document.createElement('div');

var strong = document.createElement('strong');

this.oStrength = id.appendChild(div);

this.oStrengthTxt = id.parentNode.appendChild(strong);

};

PasswordStrength.prototype.checkStrength = function (val) { //验证密码强度的函数

var aLvTxt = ['', '低', '中', '高'];//定义提示消息的种类

var lv = 0; //初始化提示消息为空

if (val.match(/[a-z]/g)) { lv++; } //验证是否包含字母

if (val.match(/[0-9]/g)) { lv++; } // 验证是否包含数字

if (val.match(/(.[^a-z0-9])/g)) { lv++; } //验证是否包含字母,数字,字符

if (val.length < 6) { lv = 0; } //如果密码长度小于6位,提示消息为空

if (lv > 3) { lv = 3; }

this.oStrength.className = 'strengthLv' + lv;

this.oStrengthTxt.innerHTML = aLvTxt[lv];

};

new PasswordStrength('pwd','pwdStrength');

效果图:

5018000e140f5d63033b8a3f876e8c18.png

小结:

1.利用onkeyup 事件(在键盘按键被松开时发生)进行三种判断,简单方便。

2. 正则表达式的功能真的很强大。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值