`
清风夜影寒
  • 浏览: 150947 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

修改密码的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){
       	    var  e= ev||window.event; 
			var show = document.getElementById('showlianxi'); 
			var obj=e.target||e.srcElement; 
	     switch(status){ 
				case 'over': 
					show.style.position='absolute'; 
					if(e.pageX){ 
						show.style.left=e.pageX+20+'px'; 
						show.style.top=e.pageY+'px'; 
						} 
					else{ 
						show.style.left=e.clientX + document.body.scrollLeft+ document.documentElement.scrollLeft+5; 
						show.style.top=e.clientY + document.body.scrollTop+ document.documentElement.scrollTop+5; 
						} 
					show.style.display='block'; 
					break; 
				case 'out': 
				show.style.display='none'; 
				break; 
			   }
	 }
	 //旧密码的onblur事件调用此方法。
	 function old_psss_onblur(test,label){
	   var value= document.getElementById(test).value; 
       var object= document.getElementById(test);
	   var var_length=value.length; 
	   document.getElementById(label).innerText=1;  
	   if(var_length==0){
	      object.setAttribute("className","input");
		  return false;
	  }else{
	    object.setAttribute("className",""); 
		return true;	  
	  }
	}
	 
	 
	 //密码的onblur事件调用此方法。
	 function func(test,label){  
	      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]*$"); 
          var value= document.getElementById(test).value; 
          var object= document.getElementById(test);
		  var var_length=value.length; 
		  document.getElementById(label).innerText=1;  
          if(value==null||value==''){   
            object.setAttribute("className","input");
			return false;
          }else if(var_length<6&&var_length>0){
		    object.setAttribute("className","input");
			return false;
		  }else if(var_length>20){
		    object.setAttribute("className","input");
			return false;
          }else if(value.match(reg_small)||value.match(reg_big)){
		    object.setAttribute("className","input");
			return false;
		  }else if(value.match(reg_num)){
		    object.setAttribute("className","input");
			return false;
		  }else{
		   object.setAttribute("className",""); 
		   return true;
		  }	 
		}  
		
	//确认密码的onblur事件调用此方法	
    function new_password_confirm(new_password,new_password_confirmation,label){ 
	       var new_passvalue=document.getElementById(new_password).value;
		   var new_pass_confirmvalue=document.getElementById(new_password_confirmation).value;
		   var new_pass_confirm_obj=document.getElementById(new_password_confirmation);
		   document.getElementById(label).innerText=1;  
		   if(new_pass_value.length==0){
		       new_pass_confirm_obj.setAttribute("className","input");
			   return false;
		   }else if(new_pass_value!=new_pass_confirm_value){
		       new_pass_confirm_obj.setAttribute("className","input");
			   return false;
		   }else{
		       return true;
		   }
    }	
	function tijiao(){
	  if(old_psss_onblur('username','old_pass')&&func('new_password','new_password_control')&&new_password_confirm('new_password','new_password_confirmation','new_password_confirmation_control')){
	    document.reform.submit();
	   }
	}
	
</script>
<style type="text/css"  >   
     .input{   
      border-color:#FF0000;   
      border-style:solid;   
       }
	 

</style> 
</head>
<body>
  <form name="reform" action="" method="post">
     <table align="center">
        <tr>
           <th width="200px" align="left">旧密码:
           </td>
           <td width="300px" colspan="2"><input type="text"  id="username"  onBlur="old_psss_onblur('username','old_pass')" onMouseOver="old_pass('over',event,'username','old_pass')" onMouseOut="old_pass('out',event,'username','old_pass')" style="width:200px">
           </td>
           
        </tr>
        <tr>
           <th align="left">
              新密码:
           </td>
           <td>
           <input type="password" id="new_password"  onmouseout="showlianxi('out',event,'new_password','new_password_control')"  onmousemove="showlianxi('over',event,'new_password','new_password_control')"  onBlur="func('new_password','new_password_control')" style="width:200px" />
           </td>
           <td><a style="font-size:13px">密码不允许纯数字或字母,长度大于5</a>
           </td>
        </tr>
        <tr>
           <th align="left">
           确认新密码:
           </td>
           <td colspan="2">
           <input type="text" id="new_password_confirmation" onMouseOut="showdiv('out',event,'new_password','new_password_confirmation','new_password_confirmation_control')" onMouseMove="showdiv('over',event,'new_password','new_password_confirmation','new_password_confirmation_control')" onBlur="new_password_confirm('new_password','new_password_confirmation','new_password_confirmation_control')"  style="width:200px"/>
           </td>
        </tr>
        <tr>
          <td colspan="3" align="center">
            <input type="button" value="提交" onClick="tijiao()">          </td>
        </tr>     
     </table>
     <div id="showlianxi" style="display:none;filter:alpha(opacity=50); background: #FF9999">  
    <label id="lable1"></label>
    </div>
    <label id="old_pass" style="display:none">0</label>
    <label id="new_password_control" style="display:none">0</label>
    <label id="new_password_confirmation_control" style="display:none">0</label>
</form>

</body>
</html>

 

1
4
分享到:
评论

相关推荐

    httpClient调用javaeye API验证用户

    在这个场景中,我们使用HttpClient来调用JavaEye API来验证用户。JavaEye可能是一个提供用户认证服务的平台,而API则提供了验证用户身份的功能。 以下是一个关于如何使用HttpClient调用JavaEye API的基本步骤: 1....

    javaeye被黑

    javaeye被黑 大家看看

    Java struts2 ongl 标签 jsp页面

    Java Struts2 OGNL(Object-Graph Navigation Language)标签是用于在JSP页面中动态地访问和操作Java对象的强大工具。以下是对这些知识点的详细解释: 1. **对象树的访问**: OGNL允许开发者通过点号(`.`)来遍历...

    javaeye热点阅读

    JavaEye热点阅读是JavaEye论坛推出的2009年2月特辑,旨在为Java学习者和开发者提供最新的知识及行业动态。这份资料包含了多个Java相关的主题,包括但不限于并发编程、开源项目、设计模式、框架应用以及软件开发实践...

    Jsp-Servlet复习笔记-----第3章 Servlet技术 - 堕落天使 - JavaEye技术网站.mht

    Jsp-Servlet复习笔记-----第3章 Servlet技术 - 堕落天使 - JavaEye技术网站.mhtJsp-Servlet复习笔记-----第3章 Servlet技术 - 堕落天使 - JavaEye技术网站.mht

    类似javaeye代码高亮显示

    &lt;body&gt;Java代码 ;'&gt; public class Test { /** * 测试main * @param args */ public static void main(String[] args) { Integer in=10; String str="abc"; System.out.println(in+str);...部分代码

    JavaEye+技术架构

    1. **MVC模式**:JavaEye+可能采用了Model-View-Controller(模型-视图-控制器)架构模式,这是一种将业务逻辑、用户界面和应用程序数据分离的设计方式,有利于代码的组织和维护。 2. **Spring框架**:作为Java企业...

    javaeye的信息提示框代码之js

    javaeye的信息提示框代码之css,application.js

    JavaEye3.0开发手记

    ### JavaEye3.0开发手记之开发环境搭建详解 #### 一、开发环境搭建概述 随着JavaEye3.0开发计划的启动,本篇文章将详细介绍如何为该项目搭建高效的开发环境。开发过程中不仅需要考虑软件的选择,还需要针对操作...

    JSP复习笔记——第10章 连接数据库 之 JDBC相关 - 堕落天使 - JavaEye技术网站.mht

    JSP复习笔记——第10章 连接数据库 之 JDBC相关 - 堕落天使 - JavaEye技术网站.mhtJSP复习笔记——第10章 连接数据库 之 JDBC相关 - 堕落天使 - JavaEye技术网站.mht

    javaeye 基于android客户端

    总结起来,JavaEye是一个适用于Android平台的应用,它提供了一个学习和借鉴的例子,涵盖了Android开发的关键要素,包括应用配置、Java代码执行、资源管理和用户界面设计。对于想要深入理解Android开发的程序员来说,...

    JavaEye Client SourceCode

    10. **Android Studio集成开发环境**:作为Android开发的标准工具,JavaEye客户端的构建可能依赖于Gradle,源码中会包含build.gradle文件,定义了项目结构、依赖关系和构建配置。 通过对JavaEye Client SourceCode...

    javaeye月刊2008年4月 总第2期.pdf

    【JavaEye月刊2008年4月总第2期】主要涵盖了多个与Java相关的技术和行业动态。以下是对这些内容的详细解析: 1. **Spring创始人Rod Johnson再次发飙—“传统Java应用服务器正在没落”** Rod Johnson是Spring框架的...

    javaeye代码高亮插件

    然而,当你试图在WordPress中寻找与JavaEye类似的代码高亮插件时,可能并未找到完全匹配的解决方案,因此你决定将JavaEye的代码高亮功能提取出来并应用到自己的WordPress站点上。 在你提供的压缩包文件中,我们可以...

    JavaEye新闻月刊_-_2009年3月_-_总第13期

    JavaEye新闻月刊2009年3月第13期内容涉及了当时软件开发领域内的一系列重要话题,包括IBM拟收购Sun Microsystems公司的新闻报道、Java社区对此的看法以及各种编程语言、开发工具和技术的新动态。 首先,新闻月刊...

    javaeye论坛小测试答案

    javaeye 论坛小测试 javaeye论坛小测试答案 javaeye论坛测试答案 这下你们就省事了。

Global site tag (gtag.js) - Google Analytics