基于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 相关文章推荐
给文字加上着重号的JS代码
Nov 12 Javascript
Document.location.href和.replace的区别示例介绍
Mar 04 Javascript
jQuery 获取兄弟元素的几种不错方法
May 23 Javascript
JavaScript调试工具汇总
Dec 23 Javascript
jQuery原型属性和原型方法详解
Jul 07 Javascript
最实用的jQuery分页插件
Oct 09 Javascript
ztree实现权限横向显示功能
May 20 Javascript
Vue中使用Sortable的示例代码
Apr 07 Javascript
Vue 实现展开折叠效果的示例代码
Aug 27 Javascript
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
在小程序中推送模板消息的实现方法
Jul 22 Javascript
JS中的变量作用域(console版)
Jul 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
在MongoDB中模拟Auto Increment的php代码
2011/03/06 PHP
PHP 函数call_user_func和call_user_func_array用法详解
2014/03/02 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
2015/07/06 PHP
4种PHP异步执行的常用方式
2015/12/24 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
2016/03/18 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
PHP使用第三方即时获取物流动态实例详解
2017/04/27 PHP
javascript生成/解析dom的CDATA类型的字段的代码
2007/04/22 Javascript
IE与firefox之jquery用法区别
2008/10/03 Javascript
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
用jQuery模拟页面加载进度条的实现代码
2011/12/19 Javascript
javascript跟随滚动效果插件代码(javascript Follow Plugin)
2013/08/03 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
2016/02/02 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
解决vue里碰到 $refs 的问题的方法
2017/07/13 Javascript
Javascript es7中比较实用的两个方法示例
2017/07/21 Javascript
JS 数组随机洗牌的实例代码
2018/09/12 Javascript
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
2018/10/25 Javascript
在node中使用jwt签发与验证token的方法
2019/04/03 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
js实现电灯开关效果
2021/01/19 Javascript
Python处理Excel文件实例代码
2017/06/20 Python
基于Python和Scikit-Learn的机器学习探索
2017/10/16 Python
python实现在IDLE中输入多行的方法
2018/04/19 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
阿联酋网上花店:Ferns N Petals
2018/02/14 全球购物
美国最佳在线航班预订网站:LookupFare
2019/03/26 全球购物
应用服务器有那些
2012/01/19 面试题
小学教学随笔感言
2014/02/26 职场文书
社区科普工作方案
2014/06/03 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书