js 忘记密码发送短信记录cookie
<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的更多相关文章
- js模拟支付宝发送短信验证码&&&&短信倒计时
html <div class="pwdContent"> <div class="pwdBox"></div> <d ...
- Android之获取输入用户名与密码发送短信
打算在过两三天的时间我就要准备出发去浙江了,所以把之前的资料来个总结. 这都是在课堂上做过的作业. 好了,废话少说,直接上代码. 步骤: 1.设置单击事件2.获取输入的QQ号码与密码3.判断输入获取的 ...
- 使用Node.js调用阿里云短信的发送以及接收
为了使用Node.js调用阿里云短信服务,我自己写了个npm包, 目前实现了: 使用Node.js调用阿里云短信服务,发送短信: 使用Node.js调用阿里云短信服务以及MNS服务,接收用户上行短信 ...
- js 发送短信倒计时、秒杀倒计时实现代码
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...
- Android-读取操作系统通话记录并/拨打电话/发送短信/复制号码到拨号盘
apps目录的contacts应用(有读取通话记录功能),是访问provider目录的provider.contacts应用(有暴露通话记录),所以要阅读Android操作系统源码-->pack ...
- day101:MoFang:模型构造器ModelSchema&注册功能之手机号唯一验证/保存用户注册信息/发送短信验证码
目录 1.模型构造器:ModelSchema 1.SQLAlchemySchema 2.SQLAlchemyAutoSchema 2.注册功能基本实现 1.关于手机号码的唯一性验证 2.保存用户注册信 ...
- Yii2发送短信验证码完全解决方案
概述 在做项目的时候,需要用到短信发送验证码功能.不能不说Yii2的牛逼,很容易就搞定了.下面我整理一下具体功能和流程,分享给大家. 主要功能 通过Yii2 rules验证手机号 通过js验证是否为手 ...
- 使用python移动飞信模块发送短信
作者:miaoo 1.应用场景 由于自己做的一个系统需要用到发送短信到自己手机的功能,于是搜索了一下,发现了一个通过移动飞信通道发送短信开源库:PyFetion PyFetion 模拟实现了飞信的通信 ...
- java中用中国网建提供的SMS短信平台发送短信
接下来的项目需求中提到需要短信发送功能,以前没有做过,因此便在网上搜了一下.大体上说的都是有三种方法,分别是sina提供的webservice接口.短信mao和中国网建提供的SMS短信平台. 这三种方 ...
随机推荐
- tftp 服务器的配置
如果用下面一条命令能够看到服务已经启动, 则不用安装, 否则需要按 1 或 2 点安装 tftp-server 服务器. [arm@localhost arm]#netstat -a | grep t ...
- [转]sourceforge文件下载过慢
sourceforge文件下载过慢,可以用下面网址镜像下载, 通过 下载Sourceforge等国内无法下载站点文件的另一种方法博文,好像主站点是 https://www.mirrorservice. ...
- Java中的反射该如何使用?
1. 什么是反射 反射是一种功能强大且复杂的机制.Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性.对于任何一个对象,我们都能够对它的方法和属性进行调用.我们把这种 ...
- Centos7.5 安装sonarqube-7.1
下载sonarqube-7.1 wget -t 0 -c https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.1.z ...
- leetcode-159周赛-5233-规划兼职工作*
方法: class Solution: def jobScheduling(self, startTime: List[int], endTime: List[int], profit: List[i ...
- Spring Boot学习笔记二
Spring Boot入门第二篇 第一天的详见:https://www.cnblogs.com/LBJLAKERS/p/12001253.html 同样是新建一个pring Initializer快速 ...
- 整理delphi及整理原则
回看delphi使用的人也不多,但一直觉得这门语言挺好的,所以一直在用,在很多方面也给了很多帮助和启示 加上delphi的学习文件也确实比较少,故收集起来也不容易.今日,重新整理一下delphi ,一 ...
- 异或空间求基(模板)——hdu3949
输出样例有点问题的.. #include<bits/stdc++.h> using namespace std; #define ll unsigned long long #define ...
- SpringBoot_Redis配置
Spring Boot – redis 1.添加依赖 <!-- 引入 spring-boot-starter-redis 当前最新版本--> <dependency> < ...
- 报错:[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the paren
今天在做Vue的时候,子组件关闭的时候,报如下错误 报错:vue.esm.js?65d7:610 [Vue warn]: Avoid mutating a prop directly since th ...