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

修改密码的jsp页面,类似于javaeye修改密码的界面及验证

????? 这两天做了个修改密码的jsp界面,基本上模仿了javaeye修改密码的验证方式。就是提示错误的隐藏层背景没有javaeye做的漂亮,算是基本上达到验证的目的了吧!

????? 不足:

????????? 1.js中有很多代码可以重用,由于技术还存在缺陷,并没有把可重用的代码逐一进行分离。

????????? 2.代码没能很好的注释。可能写的有些随意,不利于后期的维护!

页面代码如下(欢迎各位网友使用及评论并且指出不足之处):

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>显示文本框的值</title>
   <script type="text/javascript" language="javascript">
   //旧密码调用鼠标跟随效果
   function old_pass(status,ev,id,label){
     var lab=document.getElementById(label).innerText;
	 if(lab==1){
	    old_pass_confirm(status,ev,id)
	 }
   }
   
   //旧密码验证跟随效果
   function old_pass_confirm(status,ev,id){
       var value=document.getElementById(id).value;
	   var object=document.getElementById(id);
	   var var_length=value.length;
	   if(var_length==0){
	     var lab9='请填写值';
		 document.getElementById('lable1').innerText=lab9;
		 fu(status,ev);
		 object.setAttribute("className","input");
	   }else{
	     var show = document.getElementById('showlianxi'); 
		 show.style.display='none'; 
		 object.setAttribute("className","");   
	   }
   }
   //密码框调用鼠标跟随效果
	function showlianxi(status,ev,id,label){ 
			var lab=document.getElementById(label).innerText;
			     if(lab==1){
				   yanzheng(status,ev,id);
			     }
		} 
   
      <!--当密码不符合要求时,显示鼠标跟随效果-->
	function yanzheng(status,ev,id){
	   var value=document.getElementById(id).value;
	   var object=document.getElementById(id);
	   var var_length=value.length;
	   var reg_small=new RegExp("^[a-z][a-z]*$");	
	   var reg_big=new RegExp("^[A-Z][A-Z]*$");
	   var reg_num=new RegExp("^[0-9][0-9]*$");
	   if(var_length==0){
			     var lab1='请填写值';
			     document.getElementById('lable1').innerText=lab1;
			     fu(status,ev);
				 object.setAttribute("className","input");
			}else if(var_length<6&&var_length>0){
			     var lab2='最小长度为6,当前长度为'+var_length+'.';
			     document.getElementById('lable1').innerText=lab2;
			     fu(status,ev);
				 object.setAttribute("className","input");
			} else if(var_length>20){
 			     var lab3='最大长度为20,当前长度为'+var_length;
			    document.getElementById('lable1').innerText=lab3;
				fu(status,ev);
				object.setAttribute("className","input");
			}else if(value.match(reg_small)||value.match(reg_big)){
			    var lab4='密码不能只包含小写或大写字母';
				document.getElementById('lable1').innerText=lab4;
				fu(status,ev);
				object.setAttribute("className","input");
			}else if(value.match(reg_num)){
			    var lab5='密码不能只包含数字';
				document.getElementById('lable1').innerText=lab5;
				fu(status,ev);
				object.setAttribute("className","input");
			}			
			else{
			var show = document.getElementById('showlianxi'); 
			show.style.display='none'; 
			object.setAttribute("className","");   
			}
	   
	}
		
	//确认密码调用鼠标跟随效果
	function showdiv(status,ev,id,conf_id,label){
	   var lab=document.getElementById(label).innerText;
		   if(lab==1){
			 confirm_pass(status,ev,id,conf_id);
		   }
	}	
	
	//验证再次输入的密码效果	
	function confirm_pass(status,ev,id,conf_id){
	   var value1=document.getElementById(id).value;
	   var value2=document.getElementById(conf_id).value;
	   var object=document.getElementById(conf_id);
	   var var_length=value2.length;
	   if(var_length==0){
		  var lab6='请填写值';
		  document.getElementById('lable1').innerText=lab6;
		  fu(status,ev);
		  object.setAttribute("className","input");
		}else if(value1!=value2){
		  var lab7='两次填写不一致,请重新填写';
		  document.getElementById('lable1').innerText=lab7;
		  fu(status,ev);
		  object.setAttribute("className","input");
		}else{
		   var show = document.getElementById('showlianxi'); 
			show.style.display='none'; 
		   object.setAttribute("className","");
		}
	}

    //鼠标跟随效果
     function fu(status,ev){