日期:2014-05-16  浏览次数:20391 次

保证密码强度的JS脚本

?

?

代码如下:

function CharMode(iN) {
	if (iN >= 48 && iN <= 57) // 数字
		return 1;
	if (iN >= 65 && iN <= 90) // 大写
		return 2;
	if (iN >= 97 && iN <= 122) // 小写
		return 4;
	else
		return 8; // 特殊字符
}
// bitTotal函数,计算密码模式
function bitTotal(num) {
	modes = 0;
	for (i = 0; i < 4; i++) {
		if (num & 1)
			modes++;
		num >>>= 1;
	}
	return modes;
}
// 返回强度级别
function checkStrong(password) {
	if (password.length < 17)
		return 0; // 密码太短
	Modes = 0;
	for (i = 0; i < password.length; i++) {
		// 密码模式
		Modes |= CharMode(password.charCodeAt(i));
	}
	return bitTotal(Modes);
}

// 判断强度
function pwStrength(password) {
	S_level = checkStrong(password);
	if (S_level > 3) {
		alert("符合标准!");
	} else {
		alert("密码必须由大写字母、小写字母、数字和下划线组成,且长度不能小于17位!");
	}
}

?

?

?