码迷,mamicode.com
首页 > 其他好文 > 详细

检测密码强度

时间:2015-07-20 16:01:39      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:

  在大多数平台注册一个新账户,输入密码是必须的,有时候为了提醒用户设置一个相对安全的密码,会检测密码强度。 

/**
 * @param input (密码框)
 * @param notice (文本提示)
 * 检测密码强度  供参考
**/
function checkPasswordStrength(input,notice){
	var str = [‘密码强度:弱‘,‘密码强度:中‘,‘密码强度:强‘],
	getStrength = function(str){
		var strength = 0;
		if (str.length < 6) return strength;
		if (/\d/.test(str)) strength++; //数字            
		if (/[a-z]/.test(str)) strength++; //小写            
		if (/[A-Z]/.test(str)) strength++; //大写             
		if (/\W/.test(str)) strength++; //特殊字符
		switch (strength) {
			case 1:
				return 1;
			break;
			case 2:
				return 2;
			break;
			case 3:
			case 4:
				return str.length < 12 ? 3 : 4
			break;
		}            		
	},
	strong;
	input.oninput = input.onpropertychange = function(){
		strong = getStrength(input.value);
		switch (strong){
			case 0:
				notice.innerHTML = ‘‘;	
			break;
			case 1:
			case 2:
				notice.innerHTML = str[0];	
			break;
			case 3:
				notice.innerHTML = str[1];	
			break;
			case 4:
				notice.innerHTML = str[2];	
			break;
		}
	}
}

//use
var input = document.getElementById(‘password‘), notice = document.getElementById(‘notice‘);	
checkPasswordStrength(input,notice);		}

  很简单的一个检测函数,在用户输入时检测密码是否有数字、小写字母、大写字母、特殊符号,根据输入判断密码强度。

  其中使用了事件:oninput 、 onpropertychange 来监听输入框值变化。

  

 

检测密码强度

标签:

原文地址:http://www.cnblogs.com/rainbowcode/p/4661067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!