<div class="forgetPwdBox" style="display:none">
<div class="forTit">
<p>忘记密码</p>
<span id="closeBtn">x</span>
</div>
<div class="textPwd">
<div class="inputTel">
<input id="phone" name="phone" placeholder="请输入手机号" type="text"/>
</div>
<div class="inputverifity">
<input id="verifity" name="verifity" placeholder="请输入短信验证码" type="text"/>
</div>
<div id="curBtn">
<input type="button" id="btn" value="获取验证码">
</div>
<div class="errorInfo"></div>
<button id="check-btn" class="layui-btn">确定</button>
</div>
</div>
</div>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.cookie.js"></script>

<script>
$(function(){
var verifityCode = "";
if($.cookie("total")!=undefined&&$.cookie("total")!='NaN'&&$.cookie("total")!='null'){//cookie存在倒计时
timekeeping();
}else{//cookie 没有倒计时
$('#btn').attr("disabled", false);
}
function timekeeping(){
//把按钮设置为不可以点击
$('#btn').attr("disabled", true);
var interval=setInterval(function(){//每秒读取一次cookie
//从cookie 中读取剩余倒计时
total=$.cookie("total");
//在发送按钮显示剩余倒计时
$('#btn').val('请等待'+total+'秒');
//把剩余总倒计时减掉1
total--;
if(total==0){//剩余倒计时为零,则显示 重新发送,可点击
//清除定时器
clearInterval(interval);
//删除cookie
total=$.cookie("total",total, { expires: -1 });
//显示重新发送
$('#btn').val('重新发送');
//把发送按钮设置为可点击
$('#btn').attr("disabled", false);
}else{//剩余倒计时不为零
//重新写入总倒计时
$.cookie("total",total);
}
},1000);
}
//绑定发送按钮
$('#btn').click(function(event) {
/* Act on the event */
// alert($("#btn").val());
//校验手机号码
var phone=$('#phone').val();
var pre=/^[1][358][0-9]{9}$/;
if(phone==''){
$(".errorInfo").html("手机号不能为空!");
$('#phone').focus();
return this;
}else{
var pre=/^[1][358][0-9]{9}$/;
if(!pre.test(phone)){
$(".errorInfo").html("手机号格式错误!");
$('#phone').focus();
return this;
}
} $.ajax({
url: '/user/sendSms?mob=' + phone,
type: 'GET',
success:function(data){
if(data.code){
verifityCode = data.code;
}
}
})
.done(function(re) {
var str="发送短信验证码成功,请注意查看您的手机"; if(re.code == 404)
{
str="输入的手机账户不存在!";
} // console.log(re);
if(re){
if(re.code == 404)
{
str="输入的手机账户不存在!";
}
else{
$.cookie("total",60);
timekeeping();
} }else{
switch (re.result) {
case '-1':
str="没有该用户账户";
break;
case '-2':
str="接口密码不正确";
break;
case '-3':
str="短信数量不足";
break;
case '-11':
str="该用户被禁用";
break;
case '-14':
str="短信内出现非法字符";
break;
case '-4':
str="手机号格式不正确";
break;
case '-41':
str="手机号码为空";
break;
default:
str="发送验证码失败";
break;
}
}
$(".errorInfo").html(str);
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});
}); $("#check-btn").click(function(){
var curVerifity = $("#verifity").val();
var phone = $('#phone').val();
if(curVerifity == "" || verifityCode == ""){
$(".errorInfo").html("请填写手机验证码!");
$('#verifity').focus();
return;
} if(curVerifity == verifityCode){
$.ajax({
url: '/user/resetPassword?mob=' + phone,
type: 'GET',
success:function(data){
if(data.code == 200){
$(".errorInfo").html("密码初始化成功,请用初始密码进行登录!");
window.setTimeout(function(){
window.location.href = "/lougout"
}, 1500);
}
else{
$(".errorInfo").html("密码初始化失败!");
}
}
})
} else{
$(".errorInfo").html("您填写的手机验证码有误!");
$('#verifity').focus();
} }) $("#forgetPwd").click(function(){
$(".forgetPwdBox").fadeIn(500);
}); $("#closeBtn").click(function(){
$(".forgetPwdBox").fadeOut("fast");
});
})
</script>

js 忘记密码发送短信记录cookie的更多相关文章

  1. js模拟支付宝发送短信验证码&&&&短信倒计时

    html <div class="pwdContent"> <div class="pwdBox"></div> <d ...

  2. Android之获取输入用户名与密码发送短信

    打算在过两三天的时间我就要准备出发去浙江了,所以把之前的资料来个总结. 这都是在课堂上做过的作业. 好了,废话少说,直接上代码. 步骤: 1.设置单击事件2.获取输入的QQ号码与密码3.判断输入获取的 ...

  3. 使用Node.js调用阿里云短信的发送以及接收

    为了使用Node.js调用阿里云短信服务,我自己写了个npm包, 目前实现了: 使用Node.js调用阿里云短信服务,发送短信: 使用Node.js调用阿里云短信服务以及MNS服务,接收用户上行短信 ...

  4. js 发送短信倒计时、秒杀倒计时实现代码

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...

  5. Android-读取操作系统通话记录并/拨打电话/发送短信/复制号码到拨号盘

    apps目录的contacts应用(有读取通话记录功能),是访问provider目录的provider.contacts应用(有暴露通话记录),所以要阅读Android操作系统源码-->pack ...

  6. day101:MoFang:模型构造器ModelSchema&注册功能之手机号唯一验证/保存用户注册信息/发送短信验证码

    目录 1.模型构造器:ModelSchema 1.SQLAlchemySchema 2.SQLAlchemyAutoSchema 2.注册功能基本实现 1.关于手机号码的唯一性验证 2.保存用户注册信 ...

  7. Yii2发送短信验证码完全解决方案

    概述 在做项目的时候,需要用到短信发送验证码功能.不能不说Yii2的牛逼,很容易就搞定了.下面我整理一下具体功能和流程,分享给大家. 主要功能 通过Yii2 rules验证手机号 通过js验证是否为手 ...

  8. 使用python移动飞信模块发送短信

    作者:miaoo 1.应用场景 由于自己做的一个系统需要用到发送短信到自己手机的功能,于是搜索了一下,发现了一个通过移动飞信通道发送短信开源库:PyFetion PyFetion 模拟实现了飞信的通信 ...

  9. java中用中国网建提供的SMS短信平台发送短信

    接下来的项目需求中提到需要短信发送功能,以前没有做过,因此便在网上搜了一下.大体上说的都是有三种方法,分别是sina提供的webservice接口.短信mao和中国网建提供的SMS短信平台. 这三种方 ...

随机推荐

  1. ARM 汇编 内存访问指令

    一. 单个寄存器操作读写内存 内存访问指令格式:<opcode><cond> Rd, [Rn] Rn 中保存的是一个内存的地址值 1. 内存写指令  [ str,strb,st ...

  2. tomcat 启用https协议

    利用tomcat服务器配置https双向认证. 1.为服务器生成证书 打开cmd,进入jdk的bin目录下,输入下面的命令: keytool -genkey -v -alias tomcat -key ...

  3. Redis Desktop Manager可视化工具连接不上redis

    1.在centos中启动redis之后,redis进程也是可查的,但是一连接可视化工具就报错: can't connect to redis-server 2.原因分析: ①首先redis是肯定已经开 ...

  4. CSS控制Span强制换行、溢出隐藏

    CSS控制Span强制换行 word-wrap: break-word; word-break: break-all; white-space: pre-wrap !important; 盒子文字设置 ...

  5. 使用vue-cli脚手架和vue-router搭建项目(一)

    之前做的项目一直比较简单,并没有引入整个路由库.今天准备练习下

  6. jQuery - 动画相关

    // 显示隐藏 $("div").show(); // 显示 $("div").hide(); // 隐藏 // 显示过程3秒, 3秒之内, 元素的宽,高和透明 ...

  7. vue-cli 新手 搭建项目 一

     新手入坑vue 搭建项目  一.安装 vue-cli 1.打开cmd 输入命令(已自行安装好npm node等) npm install --global vue-cli  (全局安装) 二.创建项 ...

  8. 8-26接口压力测试-1Dubbo接口测试

    1. Dubbo Dubbo是一个分布式服务框架,提供了高性能和透明化的RPC(Remote Procedure Call Protocol)远程服务调用方案和服务治理方案. SOA:面向服务的架构 ...

  9. Matlab求三重积分

    Matlab求三重积分 求 \(\int_0^1 \int_0^1 \int_0^1 sin(\pi x_1 x_2 x_3) dx_1 dx_2 dx_3\) 代码是: triplequad(@(x ...

  10. 基于Netty的RPC架构学习笔记(五):netty线程模型源码分析(二)

    文章目录 小技巧(如何看开源框架的源码) 源码解析 阅读源码技巧 打印查看 通过打断点调试 查看调用栈 小技巧(如何看开源框架的源码) 一断点 二打印 三看调用栈 四搜索 源码解析 //设置nioso ...