<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. python的magic methods

    https://pycoders-weekly-chinese.readthedocs.io/en/latest/issue6/a-guide-to-pythons-magic-methods.htm ...

  2. Dockfile中的命令如何在.sh中执行

    有类似如下内容的Dokefile文件.1 RUN cd /tmp/patch \ && /lib/python3./site-packages/moduleA/a.* \ && ...

  3. 30 System类

    System类代表系统,系统级的很多属性和控制方法都放置在该类的内部.该类位于java.lang包.由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类.其内部的成员变量 ...

  4. 01退背包——bzoj2287

    退背包就是限制某一件物品不可取的方案数 先做出无限制的方案数,然后对于当前不可取的物品,dp2[j]表示不取改物品情况下,取得体积为j的方案数 有状态方程 dp2[j]=dp1[j]-dp2[j-w[ ...

  5. DELPHI 让子窗体显示在任务栏上

    重载 CreateParams 方法即可 声明: procedure CreateParams(var Params: TCreateParams);override; procedure TForm ...

  6. GDI+在Delphi程序的应用 Photoshop色相饱和度明度功能

    本文用GDI+实现Photoshop色相/饱和度/明度功能,参照我的其它有关GDI+在 Delphi程序的应用的文章,代码也可供TBitmap使用. 有些人不喜欢,或者不太懂Delphi的BASM代码 ...

  7. string反向找位置,分割字符串(只取文件夹路径)

    1 #include <uf.h> 2 #include <uf_part.h> 3 #include <atlstr.h> 4 #include <iost ...

  8. ionic-CSS:ionic 单选框

    ylbtech-ionic-CSS:ionic 单选框 1.返回顶部 1. ionic 单选框 ionic 单选按钮与标准 type="radio" 的 input元素类似.以下展 ...

  9. Aliyun 安装NPM 总是3.5.2 解决方案

    由于默认的命令 阿里云安装的 Node 是 8.x 版本 导致NPM 一直安装的都是 3.5.2 版本,死活升级不上去 最后手动安装指定版本解决 wget -qO- https://deb.nodes ...

  10. Unity NGUI 粒子的排序

    Unity NGUI系统中是没有对粒子进行排序的,如: 怎么解决这个问题呢? 思路是把粒子的渲染层级,相对于UI组件的层级进行一个偏移. 解决后的效果如下: 代码如下: using System.Co ...