基于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 parseInt 大改造
Sep 27 Javascript
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
May 10 Javascript
js变量以及其作用域详解
Jul 18 Javascript
JQuery验证工具类搜集整理
Jan 16 Javascript
JS打印gridview实现原理及代码
Feb 05 Javascript
JavaScript也谈内存优化
Jun 06 Javascript
改变状态栏文字的js代码
Jun 13 Javascript
JS模拟简易滚动条效果代码(附demo源码)
Apr 05 Javascript
javascript获取select标签选中的值
Jun 04 Javascript
关于List.ToArray()方法的效率测试
Sep 30 Javascript
layui插件表单验证提交触发提交的例子
Sep 09 Javascript
Node.js Domain 模块实例详解
Mar 18 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
数字转英文
2006/12/06 PHP
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
PHP格式化MYSQL返回float类型的方法
2016/03/30 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
2019/04/02 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
javascript 浏览器检测代码精简版
2010/03/04 Javascript
JQuery 文本框使用小结
2010/05/22 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
Jquery中基本选择器用法实例详解
2015/05/18 Javascript
jQuery语法小结(超实用)
2015/12/31 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
Bootstrap模态框插件使用详解
2017/05/11 Javascript
vue中post请求以a=a&amp;b=b 的格式写遇到的问题
2018/04/27 Javascript
详解Angular6 热加载配置方案
2018/08/18 Javascript
微信小程序-form表单提交代码实例
2019/04/29 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
详解小程序如何改变onLoad的执行时机
2019/11/01 Javascript
JavaScript实现轮播图片完整代码
2020/03/07 Javascript
[01:42]TI4西雅图DOTA2前线报道 第一顿早饭哦
2014/07/08 DOTA
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
实习心得体会
2014/01/02 职场文书
电气自动化专业职业规划范文
2014/02/16 职场文书
物业保安岗位职责
2014/07/02 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
2014年大学生预备党员思想汇报1000字
2014/09/13 职场文书
2014年司法所工作总结
2014/11/22 职场文书
医院党建工作总结2015
2015/05/26 职场文书
2016幼儿园教师年度考核评语
2015/12/01 职场文书
分享mysql的current_timestamp小坑及解决
2021/11/27 MySQL
Windows server 2022创建创建林、域树、子域的步骤
2022/06/25 Servers