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

//这里是BaseDao

 1     /**
 2      * 获得一个对象
 3      * @param hql
 4      * @param param
 5      * @return
 6      */
 7     public Object get(String hql, Object[] param){
 8         List<Object> objects = this.getHibernateTemplate().find(hql, param);
 9         if (objects != null && objects.size() > 0) {
10             return objects.get(0);
11         } else {
12             return null;
13         }
14     }

//这里是UsersDaoImpl

 1     /**
 2      * 查找邮箱返回数量
 3      */
 4     public Integer CheckEmail(String email) {
 5         StringBuilder sb=new StringBuilder();
 6         sb.append("Select count(*) From Users where email=‘");
 7         if(StringUtils.isNotBlank(email)){
 8             sb.append(email);
 9         }
10         sb.append("‘");
11         Long s=(Long) super.getCount(sb.toString());
12         return s.intValue();
13     }
14
15     /**
16      * 根据邮箱查看返回一个对象
17      */
18     public Users FindByEmail(String email) {
19         String hql = "From Users where email =?";
20         return (Users) super.get(hql, new Object[]{email});
21     }
22
23
24     /**
25      * 修改密码
26      */
27     public void UpdatePassByEmail(Users user) {
28         super.Update(user);
29
30     }
31
32     

//这里是UserAction

 1     public String checkEmail() throws IOException{
 2         HttpServletResponse response = ServletActionContext.getResponse();
 3         response.setContentType("text/html;charset=UTF-8");
 4         PrintWriter out = response.getWriter();
 5         message = "邮箱不存在";
 6         if(StringUtils.isNotBlank(email)){
 7             Integer count=userBiz.CheckEmail(email);
 8             if(count<=0){
 9                 message="邮箱不存在";
10             }else{
11                 message="";
12             }
13         }
14
15         out.print(message);
16         out.flush();
17         out.close();
18
19         return SUCCESS;
20
21     }
22
23     public String UpdatePassByEmail() throws IOException{
24         HttpServletResponse response = ServletActionContext.getResponse();
25         response.setContentType("text/html;charset=UTF-8");
26         PrintWriter out = response.getWriter();
27         message = "修改失败";
28         boolean falg=false;
29
30         if(StringUtils.isNotBlank(email)){
31             if(StringUtils.isNotBlank(Password)){
32                 if(StringUtils.isNotBlank(sure_password)){
33                     if(!sure_password.equals(Password)){
34                         falg=false;
35                         message="密码不一致";
36                     }else{
37
38                         Users u=userBiz.FindByEmail(email);
39                         u.setPassword(MD5Util.EncryptionMD5(sure_password));
40                         userBiz.UpdatePassByEmail(u);
41                         falg=true;
42                         if(falg==true){
43                             message="修改成功";
44                         }else{
45                             message="修改失败";
46                         }
47                     }
48                 }
49             }
50         }
51         out.print(message);
52         out.flush();
53         out.close();
54         return SUCCESS;
55
56     }

//这里是HTML页面

 1         <div id="login-content" class="clearfix">
 2
 3             <form  method="post">
 4                 <fieldset id="filedset1">
 5                     <div class="control-group">
 6                         <label class="control-label" for="email">请输入注册时的邮箱</label>
 7                         <div class="controls">
 8                             <input type="text" name="email" id="email"
 9                                 onblur="Onblur()" />
10                         </div>
11                         <span style="color: red" id="message"></span>
12                     </div>
13                 </fieldset>
14
15                 <fieldset id="filedset2" hidden="hidden">
16                     <div class="control-group">
17                         <label class="control-label" for="password">Password</label>
18                         <div class="controls">
19                             <input type="password" name="Password" id="password" onblur="RepassOnblur()"/>
20                         </div>
21                     </div>
22
23                     <div class="control-group">
24                         <label class="control-label" for="sure_password">Sure_Password</label>
25                         <div class="controls">
26                             <input type="password" name="sure_password" id="sure_password" onblur="RepassOnblur()"/>
27                         </div>
28                         <span style="color: red" id="messages"></span>
29                     </div>
30                 </fieldset>
31
32
33                 <div class="pull-right">
34                     <button type="button" id="Next" class="btn btn-warning btn-large">
35                         下一步
36                     </button>
37                 </div>
38             </form>
39
40         </div>

//这里是JS代码

  1 /**
  2  * 这里是验证邮箱输入框事件
  3  */
  4 function Onblur(){
  5     var Email = $("#email").val();
  6     var EmailReg = /^([a-zA-Z0-9_-]{1,11})@([a-zA-Z0-9]{2,4}|126|163|189)\.([a-zA-Z0-9]{2,3})$/;
  7
  8     if (Email.length == 0) {
  9         $("#message").html("邮箱不能为空");
 10         $("#Next").attr("disabled",true);
 11         return;
 12     } else if (!EmailReg.test(Email)) {
 13         $("#message").html("邮箱格式不正确      例:[email protected]");
 14         $("#Next").attr("disabled",true);
 15         return;
 16     } else {
 17         $.ajax({
 18             type:"POST",
 19             dataType:"text",
 20             url:"checkEmail",
 21             data:{
 22                 "email":Email
 23             },
 24             success:function(data){
 25
 26                 if(data==""){
 27                     $("#message").html("");
 28                     $("#Next").attr("disabled",false);
 29
 30                 }else{
 31                     $("#message").html(data);
 32                     $("#Next").attr("disabled",true);
 33                 }
 34             },
 35             error:function(){
 36                 alert("通讯有问题,请稍候尝试...");
 37             }
 38         });
 39
 40     }
 41 }
 42
 43 /**
 44  * 点击下一步按钮事件
 45  * 隐藏邮箱输入框,显示密码输入框
 46  * 修改下一步按钮ID
 47  */
 48 $(function(){
 49     $("body").on("click","#Next",function(){
 50         $("#filedset1").hide();
 51         $("#filedset2").removeAttr("hidden");
 52         $("#Next").attr("id","Fix");
 53     });
 54
 55     $("body").on("click","#Fix",function(){
 56         var Password = $("#password").val();
 57         var SurePassword = $("#sure_password").val();
 58
 59         $.ajax({
 60             type:"POST",
 61             dataType:"text",
 62             url:"UpdatePassByEmail",
 63             data:{
 64                 "Password":Password,
 65                 "sure_password":SurePassword
 66             },
 67             success:function(data){
 68                 alert(data);
 69             },
 70             error:function(){
 71                 alert("通讯有问题,请稍候尝试...");
 72             }
 73         });
 74     });
 75 });
 76
 77 /**
 78  * 验证密码输入框事件
 79  */
 80 function RepassOnblur(){
 81     var Password = $("#password").val();
 82     var SurePassword = $("#sure_password").val();
 83
 84     if (Password.length == 0) {
 85         $("#messages").html("密码不能为空");
 86         $("#Fix").attr("disabled",true);
 87         return false;
 88     } else if (Password.length < 6 || Password.length > 16) {
 89         $("#messages").html("密码长度小于6位或大于16位");
 90         $("#Fix").attr("disabled",true);
 91         return false;
 92     } else {
 93         $("#messages").html("");
 94         $("#Fix").attr("disabled",true);
 95     }
 96
 97     if (SurePassword.length == 0) {
 98         $("#messages").html("确认密码不能为空");
 99         $("#Fix").attr("disabled",true);
100         return false;
101     } else if (SurePassword.length < 6 || SurePassword.length > 16) {
102         $("#messages").html("密码长度小于6位或大于16位");
103         $("#Fix").attr("disabled",true);
104         return false;
105     } else if (SurePassword != Password) {
106         $("#messages").html("密码不一致");
107         $("#Fix").attr("disabled",true);
108         return false;
109     } else {
110         $("#messages").html("");
111         $("#Fix").attr("disabled",false);
112     }
113 }
时间: 2024-10-02 05:12:58

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

网站开发之用户重设密码 找回密码功能的实现原理

网站开发之用户重设密码 找回密码功能的实现原理,这个东西基本在现在每个系统中都带有的功能,但是实现的方式也是挺多的,这个是跟数据库没多大关系的方法嘞. 用户流程: 1.用户忘记密码,来到密码重设界面 2.用户输入Email地址,点击重设密码按钮 3.用户收到一封密码重设邮件,里面有重设密码的链接,此链接有过期时间 4.用户点击链接,来到密码重设页面,输入新密码,完成 这个流程并没有什么创新,很多网站都是用这套流程 后端实现方式: 1.当用户输入Email地址后,验证这个Email,如果存在于数据

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

1.最近开发一个系统,有个需求就是,忘记密码后通过邮箱找回.现在的系统在注册的时候都会强制输入邮箱,其一目的就是 通过邮件绑定找回,可以进行密码找回.通过java发送邮件的功能我就不说了,重点讲找回密码. 2.参考别人的思路:发送邮件→请求邮件里的URL→验证url→{验证成功修改密码,不成功跳转到失败页面} 重点就是如何生成这个url和如何解析这个url. 需要注意的是一个url只能修改一次密码,当同一帐号发送多封邮件,只有最后一封邮件的url 3.加密能防止伪造攻击,一次url只能验证一次,

找回密码功能的实现(考虑安全性,加密方面)

最近负责公司的登陆与注册模块,大部分已经实现了,这找回密码功能实现的思路是这样的 1.用户忘记密码,需要找回密码 2.后台通过一系列的加密处理,将通过后台邮件将重置密码的页面发送到该用户的邮箱 3.用户通过邮箱里烦人链接就可以重置密码. 以下是代码 /* ------------------------------------------忘记密码,发送邮件------------------------------------------------- */ //找回密码发送邮件功能 @Requ

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

// 记住密码功能 JS结合JQuery 操作 Cookie 实现记住密码和用户名! var username = document.getElementById("username"); var password = document.getElementById("password"); var date=new Date(); var expiresDays=1000; //过期时间. date.setTime(date.getTime()+expiresDa

简述邮箱找回密码功能

1. 在登录页面给个链接,在找回密码界面可以输入邮箱地址和验证码,验证码是为了防止恶意找回: 2. 后台,首先判断验证码是否正确,再判断该邮箱是否注册过用户; 3. 如果该邮箱存在,检索出该用户信息; 4. 如果你的密码没有MD5加密的话,可以直接查询出密码,如果MD5加密了,只能重新生成一个密码,并修改该用户: 5. 将新生成的密码发送到用户邮箱里,用JavaMail发送邮件;

PHP会员找回密码功能实现实例介绍

设置思路 1.用户注册时需要提供一个E-MAIL邮箱,目的就是用该邮箱找回密码. 2.当用户忘记密码或用户名时,点击登录页面的“找回密码”超链接,打开表单,并输入注册用的E-MAIL邮箱,提交. 3.系统通过该邮箱,从数据库中查找到该用户信息,并更新该用户的密码为一个临时密码(比如:12345678). 4.系统借助Jmail功能把该用户的信息发送到该用户的邮箱中(内容包括:用户名.临时密码.提醒用户及时修改临时密码的提示语). 5.用户用临时密码即可登录. HTML 我们在找回密码的页面上放置

C#实现发送邮件找回密码功能

首先我们来分析一下思路: 三步走: 1.先要发送邮件 2.让用户点击邮件里的URL 3.实现修改密码 1.为了保证安全性,需要生成发送到邮件的URL,主要参数(用户名,过期时间,key(key 需要在每次运行是自动生成随机码), IP等等)   然后将URL发送到邮箱. 2.保存发送的参数(建议保存在数据库) 3.解析url:首先根据用户名从数据库中查找出密钥key和过期时间,没有则表示该请求 是伪造的或者过期的,然后验证签名,验证过期时间,都验证通过,就可以修改密码, 密码修改完以后,删除数据

用户邮件找回密码实现

改天我在写详细注释吧,代码先贴出来,注释很明白了,应该无需多言. 1 Controller代码: 2 public ActionResult ForgotPassword() 3 { 4 return View(); 5 } 6 [ActionName("ForgotPassword"),HttpPost] 7 public ActionResult ForgotPasswordPost(ForgotPasswordModel model) 8 { 9 if (ModelState.I

Java实现邮箱找回密码

[来源网络:http://www.cnblogs.com/zyw-205520/p/3738439.html] 通过邮件找回密码功能的实现 1.最近开发一个系统,有个需求就是,忘记密码后通过邮箱找回.现在的系统在注册的时候都会强制输入邮箱,其一目的就是 通过邮件绑定找回,可以进行密码找回.通过java发送邮件的功能我就不说了,重点讲找回密码. 2.参考别人的思路:发送邮件→请求邮件里的URL→验证url→{验证成功修改密码,不成功跳转到失败页面} 重点就是如何生成这个url和如何解析这个url.