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短信平台. 这三种方 ...
随机推荐
- 网络编程之 TCP-UDP的详细介绍
一.TCP协议 1. TCP协议的特点 1.TCP是面向连接的运输层协议.这就意味着,在使用该协议之前,必须建立TCP连接.在传输数据完毕后,必须释放已经建立的TCP连接. 2.每一条TCP连接只能有 ...
- Mysql 查询视图出现The user specified as a definer ('root'@'%') does not exist的问题
今天服务器Mysql版本在5.7升级到8.0+之后,部分网站(老的)访问视图出现The user specified as a definer ('root'@'%') does not exist问 ...
- Python Faker的使用 及 常用函数的查询
安装faker pip install faker faker的使用 引用:from faker import Faker 初始化:f=Faker(locale='zh_CN') # 默认是en_U ...
- ArrayList 详解
基本介绍 ArrayList: 支持null元素.有顺序.元素可以重复. 可以动态增长和缩减的索引序列,基于数组实现的List类(查询效率高,而在插入删除性能下降很多(需要移动数组元素)). 底层的数 ...
- Go 程序开发的注意事项
Go 程序开发的注意事项 1) Go 源文件以 "go" 为扩展名. 2) Go 应用程序的执行入口是 main()函数. 这个是和其它编程语言(比如 java/c) ...
- NOIp2018集训test-9-17(pm)
T1记忆(memory) 我大概是只记忆只有七秒的金鱼吧.看了下以前的代码发现真的很简单,但是考场上只打了个暴力,虽然骗了88pt.就是枚举选的是哪个串,然后vis[i]表示选了i这些位能不能猜出它, ...
- csp-s模拟测试93
csp-s模拟测试93 自闭场. $T1$想到$CDQ$,因为复杂度少看见一个$0$打了半年还用了$sort$直接废掉,$T2$,$T3$直接自闭暴力分都没有.考场太慌了,心态不好. 02:07:34 ...
- 关于group by的用法
重新回顾并理解group by. 首先设计一张表,表名为test 然后执行以下SQL语句: select name from test group by name 获得执行结果: 可是为了能够更好的理 ...
- Unity shader之金属质感衣服
一套QQ飞车的衣服,模仿其效果写的shader,效果如下: 部分shader如下: Shader "qq/Cloth" { Properties { _MainTex (" ...
- LeetCode刷题笔记-回溯法-分割回文串
题目描述: 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回 s 所有可能的分割方案. 示例: 输入: "aab"输出:[ ["aa", ...