zoukankan      html  css  js  c++  java
  • js--事件

    键盘事件

    鼠标/键盘属性

    altKey       返回当事件触发时,【ALT】是否被按下

    ctrlKey      返回当事件触发时,【CTRL】是否被按下

    shiftKey    返回当事件触发时,【SHIFT】是否被按下

    常见的键码

    练兵场1:利用键盘事件来检测密码的强度

    要求:

    1、密码长度在6到15之间,不允许输入空格;

    2、如果密码长度在6一下,均显示弱;

    3、如果密码长度大于6,如果只含有小写,大写,数字,特殊字符中的任意一种,显示弱,如果含其中任意两种显示一半,如果含有其中任意两种以上显示强

    Array.prototype.in_array = function(element){
        if(this.indexOf && typeof(this.indexOf) == 'function'){
            var index = this.indexOf(element);
            if(index >= 0){
                return true;
            }else{
                return false;
            }
        }else{
            for(var i = 0,length = this.length; i < length; i++){
                if(element === this[i]){
                    return true;
                }
            }
            return false;
        }
    }
    
    
    var obj = document.getElementById("username");
    
    //校验密码强度
    var type = [];
    var strong = 0;
    username.onkeypress = function(event){
    	event = event ? event : ((window.event) ? window.event : "");
    	var key = event.keyCode || event.which  ||  event.charCode;
    	
    	if(key == 32){
    		return false;
    	}else{
    		window.strong = checkPwdStrong(username,key);
    		console.log(window.strong);
    		console.log(window.type);
    	}
    }
    
    function checkPwdStrong(obj,key){
    	var strong = null;
    	switch(key){
    		case 48:
    		case 49:
    		case 50:
    		case 51:
    		case 52:
    		case 53:
    		case 54:
    		case 55:
    			if(!type.in_array('num')){
    				type[type.length] = 'num';
    			}
    			break;
    		case 65:
    		case 66:
    		case 67:
    		case 68:
    		case 69:
    		case 70:
    		case 71:
    		case 72:
    		case 73:
    		case 74:
    		case 75:
    		case 76:
    		case 77:
    		case 78:
    		case 79:
    		case 80:
    		case 81:
    		case 82:
    		case 83:
    		case 84:
    		case 85:
    		case 86:
    		case 87:
    		case 88:
    		case 89:
    		case 90:
    			if(!type.in_array('upper')){
    				type[type.length] = 'upper';
    			}
    			break;
    		
    		case 97:
    		case 98:
    		case 99:
    		case 100:
    		case 101:
    		case 102:
    		case 103:
    		case 104:
    		case 105:
    		case 106:
    		case 107:
    		case 108:
    		case 109:
    		case 110:
    		case 111:
    		case 112:
    		case 113:
    		case 114:
    		case 115:
    		case 116:
    		case 117:
    		case 118:
    		case 119:
    		case 120:
    		case 121:
    		case 122:
    			if(!type.in_array('lower')){
    				type[type.length] = 'lower';
    			}
    			break;
    		case 33:
    		case 34:
    		case 35:
    		case 36:
    		case 37:
    		case 38:
    		case 39:
    		case 40:
    		case 41:
    		case 42:
    		case 43:
    		case 44:
    		case 45:
    		case 46:
    		case 47:
    		case 58:
    		case 59:
    		case 60:
    		case 61:
    		case 62:
    		case 63:
    		case 91:
    		case 92:
    		case 93:
    		case 94:
    		case 95:
    		case 96:
    		case 123:
    		case 124:
    		case 125:
    		case 126:
    			if(!type.in_array('special')){
    				type[type.length] = 'special';
    			}
    			break;
    	}
    	
    	
    	if(obj.value.length>=5){
    		switch(type.length){
    			case 1:
    				strong = 1;
    				break;
    			case 2:
    				strong = 2;
    				break;
    			case 3:
    				strong = 2;
    				break;
    			case 4:
    				strong = 3;
    				break;
    		}
    	}else{
    		strong = 1;
    	}
    	return strong;
    }
    
  • 相关阅读:
    centos7 实时查看tomcat错误信息
    soapUI测试webservice(参数为xml格式的处理方式)
    四个好看的CSS样式表格
    ORM篇——有关NHibernate查询封装
    ORM篇——使用NHibernate配置对象实体的一些小问题
    c#操作XML文件的通用方法
    C#中正则表达式的使用
    C# Dictionary用法总结
    DLinq查询
    DataGrid通过DataSet保存为xml文件,并导入
  • 原文地址:https://www.cnblogs.com/liwuming/p/10182936.html
Copyright © 2011-2022 走看看