//这里是BaseDao

     /**
* 获得一个对象
* @param hql
* @param param
* @return
*/
public Object get(String hql, Object[] param){
List<Object> objects = this.getHibernateTemplate().find(hql, param);
if (objects != null && objects.size() > 0) {
return objects.get(0);
} else {
return null;
}
}

//这里是UsersDaoImpl

     /**
* 查找邮箱返回数量
*/
public Integer CheckEmail(String email) {
StringBuilder sb=new StringBuilder();
sb.append("Select count(*) From Users where email='");
if(StringUtils.isNotBlank(email)){
sb.append(email);
}
sb.append("'");
Long s=(Long) super.getCount(sb.toString());
return s.intValue();
} /**
* 根据邮箱查看返回一个对象
*/
public Users FindByEmail(String email) {
String hql = "From Users where email =?";
return (Users) super.get(hql, new Object[]{email});
} /**
* 修改密码
*/
public void UpdatePassByEmail(Users user) {
super.Update(user); }

//这里是UserAction

     public String checkEmail() throws IOException{
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
message = "邮箱不存在";
if(StringUtils.isNotBlank(email)){
Integer count=userBiz.CheckEmail(email);
if(count<=0){
message="邮箱不存在";
}else{
message="";
}
} out.print(message);
out.flush();
out.close(); return SUCCESS; } public String UpdatePassByEmail() throws IOException{
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
message = "修改失败";
boolean falg=false; if(StringUtils.isNotBlank(email)){
if(StringUtils.isNotBlank(Password)){
if(StringUtils.isNotBlank(sure_password)){
if(!sure_password.equals(Password)){
falg=false;
message="密码不一致";
}else{ Users u=userBiz.FindByEmail(email);
u.setPassword(MD5Util.EncryptionMD5(sure_password));
userBiz.UpdatePassByEmail(u);
falg=true;
if(falg==true){
message="修改成功";
}else{
message="修改失败";
}
}
}
}
}
out.print(message);
out.flush();
out.close();
return SUCCESS; }

//这里是HTML页面

         <div id="login-content" class="clearfix">

             <form  method="post">
<fieldset id="filedset1">
<div class="control-group">
<label class="control-label" for="email">请输入注册时的邮箱</label>
<div class="controls">
<input type="text" name="email" id="email"
onblur="Onblur()" />
</div>
<span style="color: red" id="message"></span>
</div>
</fieldset> <fieldset id="filedset2" hidden="hidden">
<div class="control-group">
<label class="control-label" for="password">Password</label>
<div class="controls">
<input type="password" name="Password" id="password" onblur="RepassOnblur()"/>
</div>
</div> <div class="control-group">
<label class="control-label" for="sure_password">Sure_Password</label>
<div class="controls">
<input type="password" name="sure_password" id="sure_password" onblur="RepassOnblur()"/>
</div>
<span style="color: red" id="messages"></span>
</div>
</fieldset> <div class="pull-right">
<button type="button" id="Next" class="btn btn-warning btn-large">
下一步
</button>
</div>
</form> </div>

//这里是JS代码

 /**
* 这里是验证邮箱输入框事件
*/
function Onblur(){
var Email = $("#email").val();
var EmailReg = /^([a-zA-Z0-9_-]{1,11})@([a-zA-Z0-9]{2,4}|126|163|189)\.([a-zA-Z0-9]{2,3})$/; if (Email.length == 0) {
$("#message").html("邮箱不能为空");
$("#Next").attr("disabled",true);
return;
} else if (!EmailReg.test(Email)) {
$("#message").html("邮箱格式不正确 例:123456@126.com");
$("#Next").attr("disabled",true);
return;
} else {
$.ajax({
type:"POST",
dataType:"text",
url:"checkEmail",
data:{
"email":Email
},
success:function(data){ if(data==""){
$("#message").html("");
$("#Next").attr("disabled",false); }else{
$("#message").html(data);
$("#Next").attr("disabled",true);
}
},
error:function(){
alert("通讯有问题,请稍候尝试...");
}
}); }
} /**
* 点击下一步按钮事件
* 隐藏邮箱输入框,显示密码输入框
* 修改下一步按钮ID
*/
$(function(){
$("body").on("click","#Next",function(){
$("#filedset1").hide();
$("#filedset2").removeAttr("hidden");
$("#Next").attr("id","Fix");
}); $("body").on("click","#Fix",function(){
var Password = $("#password").val();
var SurePassword = $("#sure_password").val(); $.ajax({
type:"POST",
dataType:"text",
url:"UpdatePassByEmail",
data:{
"Password":Password,
"sure_password":SurePassword
},
success:function(data){
alert(data);
},
error:function(){
alert("通讯有问题,请稍候尝试...");
}
});
});
}); /**
* 验证密码输入框事件
*/
function RepassOnblur(){
var Password = $("#password").val();
var SurePassword = $("#sure_password").val(); if (Password.length == 0) {
$("#messages").html("密码不能为空");
$("#Fix").attr("disabled",true);
return false;
} else if (Password.length < 6 || Password.length > 16) {
$("#messages").html("密码长度小于6位或大于16位");
$("#Fix").attr("disabled",true);
return false;
} else {
$("#messages").html("");
$("#Fix").attr("disabled",true);
} if (SurePassword.length == 0) {
$("#messages").html("确认密码不能为空");
$("#Fix").attr("disabled",true);
return false;
} else if (SurePassword.length < 6 || SurePassword.length > 16) {
$("#messages").html("密码长度小于6位或大于16位");
$("#Fix").attr("disabled",true);
return false;
} else if (SurePassword != Password) {
$("#messages").html("密码不一致");
$("#Fix").attr("disabled",true);
return false;
} else {
$("#messages").html("");
$("#Fix").attr("disabled",false);
}
}

用户找回密码功能JS验证邮箱通过点击下一步隐藏邮箱输入框并修改下一步按钮的ID的更多相关文章

  1. javaWeb实现使用邮箱邮件找回密码功能

    JSP+Jmail+JavaBean 发邮件(转)2010-08-23 18:052007年04月14日 14:32/* * SendMail.java * * Created on 2007年3月3 ...

  2. php邮箱找回密码功能

    原理很简单: 用户找回密码的时候,填写用户名,程序得到用户名便可以去数据库取出用户对应的密码以及当时填写的邮箱, 根据用户名和密码生成一个key=md5(username+password),然后$s ...

  3. PHP会员找回密码功能的简单实现

    文章来自:博客 http://www.jb51.net/article/91944.htm 设置思路 1.用户注册时需要提供一个E-MAIL邮箱,目的就是用该邮箱找回密码. 2.当用户忘记密码或用户名 ...

  4. 通过邮件找回密码功能的Java实现

    1.有个需求就是,忘记密码后通过邮箱找回.现在的系统在注册的时候都会强制输入邮箱,其一目的就是 通过邮件绑定找回,可以进行密码找回.通过java发送邮件的功能我就不说了,重点讲找回密码. 2.参考别人 ...

  5. SpringMVC通过邮件找回密码功能的实现

    1.最近开发一个系统,有个需求就是,忘记密码后通过邮箱找回.现在的系统在注册的时候都会强制输入邮箱,其一目的就是 通过邮件绑定找回,可以进行密码找回.通过java发送邮件的功能我就不说了,重点讲找回密 ...

  6. 记住密码功能 JS结合JQuery 操作 Cookie 实现记住密码和用户名!

    // 记住密码功能 JS结合JQuery 操作 Cookie 实现记住密码和用户名! var username = document.getElementById("username&quo ...

  7. spring mvc下实现通过邮箱找回密码功能

    1功能分析 通过spring mvc框架实现通过邮箱找回密码. 2 实现分析 主要是借助某个邮箱的pop3/smtp服务实现的邮件代发功能. 3 源码分析 3.1首先在用户表对应的javabean中加 ...

  8. django项目中使用邮箱找回密码功能

    本文使用qq邮箱,需要登录邮箱,在设置-账户里面开启SMTP服务,要记下授权码 前端html {#找回密码的表单#} <form action="" method=" ...

  9. Android找回密码功能 手机找回、邮箱找回

    找回密码功能设计:https://blog.csdn.net/qq_33472765/article/details/82287404?utm_source=blogxgwz0 手机找回:https: ...

随机推荐

  1. 2017 ACM-ICPC网络赛 H.Skiing 有向图最长路

    H.Skiing In this winter holiday, Bob has a plan for skiing at the mountain resort. This ski resort h ...

  2. BZOJ 1531: [POI2005]Bank notes

    按余数分类 单调队列优化 #include<cstdio> using namespace std; int n,m,b[205],c[205],F[20005]; struct node ...

  3. sqoop安装和使用

    下载版本:sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 官网:http://mirror.bit.edu.cn/apache/sqoop/1.4.6/ jdbc ...

  4. synchronized同步方法和同步代码块的区别

    同步方法默认使用this或者当前类做为锁. 同步代码块可以选择以什么来加锁,比同步方法更精确,我们可以选择只有会在同步发生同步问题的代码加锁,而并不是整个方法. 同步方法使用synchronized修 ...

  5. 1 - JVM随笔分类(java虚拟机的内存区域分配(一个不断记录和推翻以及再记录的一个过程))

    java虚拟机的内存区域分配   在JVM运行时,类加载器ClassLoader在加载到类的字节码后,交由jvm的执行引擎处理, 执行过程中需要空间来存储数据(类似于Cpu及主存),此时的这段空间的分 ...

  6. flex遭遇text-overflow:hidden,white-space:nowrap

    最近在项目中遇到使用flex的时候,在flex-item元素中使用text-overflow:hidden:white-space:nowrap:进行省略文字的操作. 发现flex-item失控了,长 ...

  7. sc.exe

    sc.exe 编辑 本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 服务管理程序:可用sc.exe远程创建 外文名 sc.exe 停止事件服务 sc  stop eventl ...

  8. Windows Server 2012之活动目录域服务的卸载

    Windows Server 2012之活动目录域服务的卸载 2012-07-11 06:27:35 标签:Windows Server 2012 活动目录域服务 卸载 原创作品,允许转载,转载时请务 ...

  9. 36、imageview的坑

    当频繁设置imageview的背景图片时,用: imageviewChooseStaff.setImageResource(R.drawable.default_head_pic); 而不是 imag ...

  10. webform登陆界面样式丢失

    本文摘抄自:http://blog.csdn.net/sssix/article/details/16945347 请阅读原文. Forms验证——登录界面样式实效? <authenticati ...