用户找回密码功能JS验证邮箱通过点击下一步隐藏邮箱输入框并修改下一步按钮的ID
//这里是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的更多相关文章
- javaWeb实现使用邮箱邮件找回密码功能
JSP+Jmail+JavaBean 发邮件(转)2010-08-23 18:052007年04月14日 14:32/* * SendMail.java * * Created on 2007年3月3 ...
- php邮箱找回密码功能
原理很简单: 用户找回密码的时候,填写用户名,程序得到用户名便可以去数据库取出用户对应的密码以及当时填写的邮箱, 根据用户名和密码生成一个key=md5(username+password),然后$s ...
- PHP会员找回密码功能的简单实现
文章来自:博客 http://www.jb51.net/article/91944.htm 设置思路 1.用户注册时需要提供一个E-MAIL邮箱,目的就是用该邮箱找回密码. 2.当用户忘记密码或用户名 ...
- 通过邮件找回密码功能的Java实现
1.有个需求就是,忘记密码后通过邮箱找回.现在的系统在注册的时候都会强制输入邮箱,其一目的就是 通过邮件绑定找回,可以进行密码找回.通过java发送邮件的功能我就不说了,重点讲找回密码. 2.参考别人 ...
- SpringMVC通过邮件找回密码功能的实现
1.最近开发一个系统,有个需求就是,忘记密码后通过邮箱找回.现在的系统在注册的时候都会强制输入邮箱,其一目的就是 通过邮件绑定找回,可以进行密码找回.通过java发送邮件的功能我就不说了,重点讲找回密 ...
- 记住密码功能 JS结合JQuery 操作 Cookie 实现记住密码和用户名!
// 记住密码功能 JS结合JQuery 操作 Cookie 实现记住密码和用户名! var username = document.getElementById("username&quo ...
- spring mvc下实现通过邮箱找回密码功能
1功能分析 通过spring mvc框架实现通过邮箱找回密码. 2 实现分析 主要是借助某个邮箱的pop3/smtp服务实现的邮件代发功能. 3 源码分析 3.1首先在用户表对应的javabean中加 ...
- django项目中使用邮箱找回密码功能
本文使用qq邮箱,需要登录邮箱,在设置-账户里面开启SMTP服务,要记下授权码 前端html {#找回密码的表单#} <form action="" method=" ...
- Android找回密码功能 手机找回、邮箱找回
找回密码功能设计:https://blog.csdn.net/qq_33472765/article/details/82287404?utm_source=blogxgwz0 手机找回:https: ...
随机推荐
- 谋哥:App开发者的苦逼不值得怜悯!
[谋哥每天一干货,第四十篇] 为什么取这个标题呢?因为昨天一些本来“支持”谋哥的人看到谋哥搞收费VIP群,觉得谋哥赚苦逼开发者的钱很不道德,且说谋哥我写的东西都不切实际,全部是一些思想性 ...
- 【Word Break II】cpp
题目: Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where e ...
- MYSQL学习心得(转)
适合有SQL SERVER或ORACLE基础的人看,有对比,学习更有效果 转自:http://www.cnblogs.com/lyhabc/ 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习 ...
- 历史Linux镜像的问题修复方案
历史Linux镜像创建的ECS云服务器,可能存在NTP没有配置,YUM没有配置,还可能存在最近暴漏较高的安全漏洞,请按照以下步骤进行修复,可以让您的云服务器更加安全,还可以使用阿里云提供的YUM服务进 ...
- Hadoop入门第三篇-MapReduce试手以及MR工作机制
MapReduce几个小应用 上篇文章已经介绍了怎么去写一个简单的MR并且将其跑起来,学习一个东西动手还是很有必要的,接下来我们就举几个小demo来体验一下跑起来的快感. demo链接请参照附件:ht ...
- 习题:Wormhole(思路题)
tyvj1763 描述 一维的世界就是一个数轴.这个世界的狭小我们几乎无法想象.在这个数轴上,有N个点.从左到右依次标记为点1到N.第i个点的坐标为Xi.经过漫长时间的物理变化和化学变化,这个一维世界 ...
- 洛谷P3245 [HNOI2016]大数 【莫队】
题目 题解 除了\(5\)和\(2\) 后缀数字对\(P\)取模意义下,两个位置相减如果为\(0\),那么对应子串即为\(P\)的倍数 只用对区间种相同数个数\(x\)贡献\({x \choose 2 ...
- 旅行商(sale)
旅行商(sale) 题目描述 camp国有n座城市,由1,2,-,n编号.城市由n–1条双向道路相连.任意两个城市之间存在唯一的道路连通.有m个旅行商,第i个旅行商会从城市ai旅行到城市bi,贩卖ci ...
- linux删除大量文件
1.建立一个空目录 mkdir -p /tmp/rsync_blank 2.确立需要清空的目标目录 /data/web/vip/htdocs/tuan 3.使用rsync同步删除(注意目录后面的“/” ...
- vue2搭建简易spa
使用vue-cli来配置webpack,webpack是一个打包工具,使程序模块化 全局安装vue-cli: npm install -g vue-cli 安装好后,使用vue-cli脚手架配置web ...