登录相关功能点与用户名密码加密规则实现

1.登录  忘记密码
2.成本中心的 查询 编辑 增加
3.后台的角色与权限控制 查询 编辑 增加
4.城市控件
5.oracle数据库 PL/SQL  数据操作

登录 相关功能点:
用户名、密码、记住密码、忘记密码、类型、验证码、下次自动登录、登录按钮、取消按钮
版权、注册、天蓝色基调、居中、左右、上下、重置、帮助、英文界面、前台、后台
使用以下账号直接登录(QQ、微博、微信、淘宝、支付宝等)管理用户、匿名用户、会员登录
注销、认证方式、头像、小键盘输入、拖拽登入、刷新输入、获取动态验证码、系统设置、刷新
版本升级、logo、语言、主题、验证码 看不清换一张、十天内免登录、与微信好友玩、与QQ好友玩、已阅读并同意<<用户协议>>、游戏、办公、选区、cookie、各行各业、上次登录、验证码类型:静态 带背景静态 含算式的 动态手机号、防暴力破解输入出错5次 账号被锁定、密码js中传值MD5加密


零碎知识点
1、去空格
  trim()函数,replace()函数,split("").join("")函数
2、清空
  reset()函数,关键字 reset换个函数名
3、鼠标移入移出
mouseenter()、mouseleave()
$(this).find(div).stop(false,true).slidedown();
$(this).find(div).stoop(false,true).hide();
4.密码的控制
不能全为数字,全英

插件 js文件passwordStrength.js

(function(){
   if(!window['EBWF']){
	   window['EBWF'] = {};
   }
   function passwordStrength(password){
   	   // Private properties	
       var defaultLength = 8;
       var owner = this;
       // Private method
       function initCheck(password){
           if(!password||password.length <8){
              throw new Error(emptyandlength+defaultLength);
           }
       }
       
       function min(a,b,c){
         if(a>b){
             if(b>c){
                return c;
             }else{
                return b;
             }
         }else{
        	 if(a>c){
                return c;
             }else{
                return a;
             }		
         }
       }
       function getDistance(a, b){
        var aL = a.length;
        var bL = b.length;
        var distance = new Array(aL+1);
        for(var i = 0; i <= aL; i++){
            distance[i] = new Array(bL+1);
        }
        for(var i = 0; i <= aL; i++){
            distance[i][0]=i;
            
        }
        for(var j=0;j<=bL;j++){
            distance[0][j] =j;
        }
        for(var i =1 ; i <= aL;i++){
            for(var j=1;j<=bL;j++){
                var ac = a.charAt(i-1);
                var bc = b.charAt(j-1);
                if(ac==bc){
                    distance[i][j]= distance[i-1][j-1];
                }else{
                    var v1 = distance[i][j-1];
                    var v2 = distance[i-1][j-1];
                    var v3 = distance[i-1][j];
                    distance[i][j]= min(v1,v2,v3)+1;
                }
            }
        }
        return distance[aL][bL];
    }
       
       initCheck(password);
       this.password = password;
       // Priviledged method (still public)
       this.setPassword = function(password){
            initCheck(password);
            this.password = password;
   	   };
   	   this.isSimilar=function(target,limitStep){
   	   	var i = getDistance(target,this.password);
        
        if(i<=limitStep){
            return true;
        }else{
            return false;
        }
   	   };
       
   
   }
   passwordStrength.prototype.equalsIgnoreCase = function(target){
     return this.password.toUpperCase()==target.toUpperCase();
   };
   passwordStrength.prototype.evaluateLength = function(min, max){
        if(this.password.length< min||this.password.length>max){
            return false;
        }else{
            return true;
        }
    };
   passwordStrength.prototype.atLeastLength = function(length){
      if(this.password.length < length){
         return false;
      }else{
         return true;
      }
   };
   passwordStrength.prototype.isAllCharacters= function(){
        var allCharacters =/^([a-zA-Z])+$/;
        if(allCharacters.test(this.password)){
            return true;
        }else{
        	return false;
        }
   };
   passwordStrength.prototype.isAllLowerCharacters= function(){
        var allLowerCharacters =/^([a-z])+$/;
        if(allLowerCharacters.test(this.password)){
            return true;
        }else{
        	return false;
        }
   };
   passwordStrength.prototype.isAllUpperCharacters= function(){
        var allUpperCharacters =/^([A-Z])+$/;
        if(allUpperCharacters.test(this.password)){
            return true;
        }else{
        	return false;
        }
   };
   passwordStrength.prototype.isAllDigits= function(){
        var allDigits =/^([0-9])+$/;
        if(allDigits.test(this.password)){
            return true;
        }else{
        	return false;
        }
   };
   passwordStrength.prototype.hasThreeConsecutiveSame= function(){

        var length = this.password.length;
        for(var i=0;i<length-2;){
            var c1= this.password.charAt(i);
            var c2= this.password.charAt(i+1);
            var c3= this.password.charAt(i+2);
            if(c3!=c2){
                i=i+2;
            }else if(c1!=c2){
                i=i+1;
            }else{
                return true;
            }
        }
        return false;
   };
   
   passwordStrength.prototype.hasSpecialCharacter= function(){
         var length = this.password.length;
        //Character a = '0';

        for(var i=0; i< length; i++){
            var c = this.password.charAt(i);
            var rv = ((c-'A')>-1&&(c-'z')<1)||((c-'0')>-1 && (c-'9')<1);
            if(!rv){
                return true;
            }
        }
        return false;
   };
   
   passwordStrength.prototype.hasThreeConsecutiveValue= function(){
   		var length = this.password.length;
        for(var i=0;i<length-2;){
           
            var c2= this.password.charAt(i+1);
           
            if((c2>'0'&&c2<'9')||(c2>'a'&&c2<'z')||(c2>'A'&&c2<'Z')){
                var c1= this.password.charAt(i);
                var c3= this.password.charAt(i+2);
                if((c2*2 == c1+c3)&&(c2!=c1)){
                    return true;
                }else if((c2==c3-1)||(c2==c3+1)){
                    i=i+1;
                }else{
                    i=i+1;
                }
            }else{
                i = i+2;
            }
            
        }
        return false;
   
   };
    passwordStrength.prototype.basicEvaluate= function(length){
    	if(!this.atLeastLength(length)){
            return false;
        }else if(this.isAllCharacters()){
            return false;
        }else if(this.isAllDigits()){
            return false;
        }else if(this.hasThreeConsecutiveSame()){
            return false;
        }else{
            return true;
        }
    
    };
   
    window['EBWF']['passwordStrength'] = passwordStrength;

})();

*****************jsp 页面中的设置************************************
/**
* 密码校验
*
*/
function resetPwdCheck() {
	var new_pwd = jQuery.trim(jQuery("#new_pwd").val());
	var confim_pwd = jQuery.trim(jQuery("#confim_pwd").val());
	if(new_pwd == ""){
		alert(please_fillin_password);	/*"请填写密码"*/
		return false;
	}
	if (confim_pwd == "") {
		alert(please_confirm_password);	/*"请确认密码"*/
		return false;
	}	
	if (new_pwd != confim_pwd) {
		alert(inputpassword_consistent);	/*"两次填写的密码不一致"*/
		return false;
	}
	if(new_pwd != "" && validateCharLength(new_pwd) > 50){
		alert(newpassword_toolong);	/*"新密码过长"*/
		return false;
	}
	
	//管理员密码复杂度校验
	var passwordStrengthConstructor =  window['EBWF']['passwordStrength'];
	 try{
	    var password = new passwordStrengthConstructor(new_pwd);
	    if (password.isAllDigits()==true){
			alert(password_cannot_numbers);	/*"密码不能全部为数字"*/
			return false;
		}
		if (password.isAllCharacters()==true){
			alert(password_cannotallletter);	/*"密码不能全部为字母"*/
			return false;
		}
	
	 }catch(e){
	    alert(e.message);
	    return false;
	 }
	 
	return true;
}

猜你喜欢

转载自lovemojienv.iteye.com/blog/2352724
今日推荐