基于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 相关文章推荐
VBScript版代码高亮
Jun 26 Javascript
HTTP状态代码以及定义(解释)
Feb 02 Javascript
为JavaScript添加重载函数的辅助方法
Jul 04 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
Feb 07 Javascript
点击弹出层效果&amp;弹出窗口后网页背景变暗效果的实现代码
Feb 10 Javascript
jquery拼接ajax 的json和字符串拼接的方法
Mar 11 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
Jun 22 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
Mar 11 Javascript
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
Jul 22 jQuery
jQuery插件simplePagination的使用方法示例
Apr 28 jQuery
javascript开发实现贪吃蛇游戏
Jul 31 Javascript
一道JS算法面试题——冒泡、选择排序
Apr 21 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 error_log 函数的使用
2009/04/13 PHP
PHP 程序员应该使用的10个组件
2009/10/31 PHP
php实现猴子选大王问题算法实例
2015/04/20 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
python进程与线程小结实例分析
2018/11/11 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
JS 建立对象的方法
2007/04/21 Javascript
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
2012/12/07 Javascript
GRID拖拽行的实例代码
2013/07/18 Javascript
基于jquery的手风琴图片展示效果实现方法
2014/12/16 Javascript
JavaScript中的方法调用详细介绍
2014/12/30 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
jquery实现网站列表切换效果的2种方法
2016/08/12 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
2016/09/21 Javascript
angularJS深拷贝详解
2017/03/23 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
elementui实现预览图片组件二次封装
2020/12/29 Javascript
[33:23]VG vs Pain 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
Python闭包之返回函数的函数用法示例
2018/01/27 Python
Python3.6实现连接mysql或mariadb的方法分析
2018/05/18 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
Python中将两个或多个list合成一个list的方法小结
2019/05/12 Python
python 中pyqt5 树节点点击实现多窗口切换问题
2019/07/04 Python
纯CSS实现设置半个字符的样式
2014/07/03 HTML / CSS
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
ORLY官网:美国专业美甲一线品牌
2019/12/11 全球购物
C语言基础笔试题
2013/04/27 面试题
四查四看剖析材料
2014/02/14 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
九年级英语教学反思
2016/02/15 职场文书
2019年行政人事个人工作总结范本!
2019/07/19 职场文书
PHP命令行与定时任务
2021/04/01 PHP