//这里是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. 20190102(多线程,守护线程,线程互斥锁,信号量,JoinableQueue)

    多线程 多进程: 核心是多道技术,本质上就是切换加保存技术. 当进程IO操作较多,可以提高程序效率. 每个进程都默认有一条主线程. 多线程: 程序的执行线路,相当于一条流水线,其包含了程序的具体执行步 ...

  2. 饭卡 HDU - 2546(dp)

    电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够).所以大家 ...

  3. linux lvm扩容

    1.分区,  查看磁盘使用:fdisk -l 对磁盘分区:fdisk /dev/sdb 2.创建pv pvcreate /dev/sdb1 查看pv: pvdisplay 3.查看vg  vgdisp ...

  4. Problem I. Count - HDU - 6434(欧拉函数)

    题意 给一个\(n\),计算 \[\sum_{i=1}^{n}\sum_{j=1}^{i-1}[gcd(i + j, i - j) = 1]\] 题解 令\(a = i - j\) 要求 \[\sum ...

  5. 水题:HDU1034-Candy Sharing Game

    解题心得: 1.我是用的模拟的算法直接模拟的每一轮的分配方法的得出的答案,看到有些大神使用的链表做的,好像链表才是这道题的镇长的做法吧. 题目: Candy Sharing Game Time Lim ...

  6. 使用FileSystem类进行文件读写及查看文件信息

    使用FileSystem类进行文件读写及查看文件信息   在这一节我们要深入了解Hadoop的FileSystem类——这是与与hadoop的文件系统交互的重要接口.虽然我们只是着重于HDFS的实现, ...

  7. 单例模式【python】

    在python中,如需让一个类只能创建一个实例对象,怎么能才能做到呢? 思路:1.通过同一个类创建的不同对象,都让他们指向同一个方向.   2.让个类只能创建唯一的实例对象. 方法:用到 _ _new ...

  8. 【Word Break II】cpp

    题目: Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where e ...

  9. Python学习-day14-CSS

    前端二:CSS   CSS: 一:介绍:学名层叠样式表(Cading Style Sheets)是一种用来表现HTML或者XML等文件的样式的计算机语言.让HTML和XML看起来更加美观. 语法:&l ...

  10. WPF TextBlock 调整下划线与文字的距离

    <TextBlock Foreground="> <TextBlock.TextDecorations> <TextDecorationCollection&g ...