基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)


Posted in Javascript onSeptember 02, 2016

相关阅读:

下面一段代码是小编给大家带来的js发送短信验证码后实现倒计时功能,代码简单易懂。

具体代码如下所示:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
<script src="http://cdn.bootcss.com/jquery/3.1.0/jquery.js"></script>
<script src="http://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.js"></script>
<!-- <script src="//cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>-->
</head>
<body>
<input id="phonenum" type="text" value="18518181818"/>
<input id="second" type="button" value="免费获取验证码" />
</body>
<script>
//发送验证码时添加cookie
function addCookie(name,value,expiresHours){ 
//判断是否设置过期时间,0代表关闭浏览器时失效
if(expiresHours>0){ 
var date=new Date(); 
date.setTime(date.getTime()+expiresHours*1000); 
$.cookie(name, escape(value), {expires: date});
}else{
$.cookie(name, escape(value));
}
} 
//修改cookie的值
function editCookie(name,value,expiresHours){ 
if(expiresHours>0){ 
var date=new Date(); 
date.setTime(date.getTime()+expiresHours*1000); //单位是毫秒
$.cookie(name, escape(value), {expires: date});
} else{
$.cookie(name, escape(value));
}
} 
//根据名字获取cookie的值
function getCookieValue(name){ 
return $.cookie(name);
}
$(function(){
$("#second").click(function (){
sendCode($("#second"));
});
v = getCookieValue("secondsremained");//获取cookie值
if(v>0){
settime($("#second"));//开始倒计时
}
})
//发送验证码
function sendCode(obj){
var phonenum = $("#phonenum").val();
var result = isPhoneNum();
if(result){
// doPostBack('${base}/login/getCode.htm',backFunc1,{"phonenum":phonenum});
addCookie("secondsremained",60,60);//添加cookie记录,有效时间60s
settime(obj);//开始倒计时
}
}
//开始倒计时
var countdown;
function settime(obj) { 
countdown=getCookieValue("secondsremained");
if (countdown == 0) { 
obj.removeAttr("disabled"); 
obj.val("免费获取验证码"); 
return;
} else { 
obj.attr("disabled", true); 
obj.val("重新发送(" + countdown + ")"); 
countdown--;
editCookie("secondsremained",countdown,countdown+1);
} 
setTimeout(function() { settime(obj) },1000) //每1000毫秒执行一次
} 
//校验手机号是否合法
function isPhoneNum(){
var phonenum = $("#phonenum").val();
var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; 
if(!myreg.test(phonenum)){ 
alert('请输入有效的手机号码!'); 
return false; 
}else{
return true;
}
}
</script>
</html>

以上所述是小编给大家介绍的基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript异步编程的4种方法让你写出更出色的程序
Jan 17 Javascript
javascript打印html内容功能的方法示例
Nov 28 Javascript
jquery控制select的text/value值为选中状态
Jun 03 Javascript
js读取json的两种常用方法示例介绍
Oct 19 Javascript
javascript每日必学之循环
Feb 19 Javascript
Bootstrap表单使用方法详解
Feb 17 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
Aug 16 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
Nov 15 Javascript
vue axios请求拦截实例代码
Mar 29 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
Nov 12 Javascript
微信小程序实现星星评分效果
Nov 01 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
Nov 07 Javascript
node.js中module.exports与exports用法上的区别
Sep 02 #Javascript
AngularJs Scope详解及示例代码
Sep 01 #Javascript
AngularJs Modules详解及示例代码
Sep 01 #Javascript
AngularJs IE Compatibility 兼容老版本IE
Sep 01 #Javascript
AngularJs 国际化(I18n/L10n)详解
Sep 01 #Javascript
AngularJs Forms详解及简单示例
Sep 01 #Javascript
vue.js入门教程之计算属性
Sep 01 #Javascript
You might like
用PHP为SHOPEX增加日志功能代码
2010/07/02 PHP
php学习笔记之面向对象编程
2012/12/29 PHP
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
php删除数组元素示例分享
2014/02/17 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
twig模板获取全局变量的方法
2016/02/05 PHP
基于Jquery制作的幻灯片图集效果打包下载
2011/02/12 Javascript
JQuery魔力之$(&quot;tagName&quot;)与selector
2012/03/05 Javascript
时间戳转换为时间 年月日时间的JS函数
2013/08/19 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
jQuery中的一些常见方法小结(推荐)
2016/06/13 Javascript
JS实现环形进度条(从0到100%)效果
2016/07/05 Javascript
vue.js获取数据库数据实例代码
2017/05/26 Javascript
详解webpack打包vue时提取css
2017/05/26 Javascript
jquery实现倒计时小应用
2017/09/19 jQuery
Javascript将图片的绝对路径转换为base64编码的方法
2018/01/11 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
2018/05/16 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
python中from module import * 的一个坑
2014/07/20 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
Python ADF 单位根检验 如何查看结果的实现
2020/06/03 Python
python 生成器需注意的小问题
2020/09/29 Python
canvas实现二维码和图片合成的示例代码
2018/08/01 HTML / CSS
巴西24小时在线药房:Droga Raia
2020/05/12 全球购物
自动化专业本科毕业生求职信
2013/10/20 职场文书
自我评价如何写好?
2014/01/05 职场文书
初中校园广播稿
2014/02/02 职场文书
读书活动实施方案
2014/03/10 职场文书
竞选劳动委员演讲稿
2014/04/28 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
网吧员工管理制度
2015/08/05 职场文书
给校长的建议书范文
2015/09/14 职场文书
超市主管竞聘书
2015/09/15 职场文书