• 检测密码强度


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

    /**
     * @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 来监听输入框值变化。

      

  • 相关阅读:
    go语言从零学起(三) -- chat实现的思考
    go语言从零学起(二)--list循环删除元素(转载)
    go语言从零学起(一) -- 文档教程篇
    Spring框架事务支持模型的优势
    Thymeleaf
    社保到底是多交好,还是少交好?
    使用静态工厂方法而不是构造器
    EJB、RMI、XMLRPC、Hessian、Thrift 、Protobuf
    MySQL存储过程
    MySQL常用功能语句分类总结
  • 原文地址:https://www.cnblogs.com/eyeear/p/4661067.html
Copyright © 2020-2023  润新知