基于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 delete 引用类型对象
Nov 01 Javascript
table insertRow、deleteRow定义和用法总结
May 14 Javascript
用js读、写、删除Cookie代码分享及详细注释说明
Jun 05 Javascript
javascript单例模式的简单实现方法
Jul 25 Javascript
JS实现的表格行鼠标点击高亮效果代码
Nov 27 Javascript
jquery+json实现分页效果
Mar 07 Javascript
对angularjs框架下controller间的传值方法详解
Oct 08 Javascript
Vue.js 图标选择组件实践详解
Dec 03 Javascript
对node通过fs模块判断文件是否是文件夹的实例讲解
Jun 10 Javascript
小程序表单认证布局及验证详解
Jun 19 Javascript
JavaScript this关键字的深入详解
Jan 14 Javascript
javascript实现简单页面倒计时
Mar 02 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
Zend Framework框架路由机制代码分析
2016/03/22 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
使用jscript实现二进制读写脚本代码
2008/06/09 Javascript
js+CSS 图片等比缩小并垂直居中实现代码
2008/12/01 Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
2013/03/24 Javascript
解析javascript 浏览器关闭事件
2013/07/08 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
简单实现js页面切换功能
2021/01/10 Javascript
JS添加删除DIV的简单实例
2016/07/08 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
基于jQuery对象和DOM对象和字符串之间的转化实例
2017/08/08 jQuery
javascript算法之二叉搜索树的示例代码
2017/09/12 Javascript
web3.js增加eth.getRawTransactionByHash(txhash)方法步骤
2018/03/15 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
JS中call()和apply()的功能及用法实例分析
2019/06/28 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
2019/10/26 jQuery
[02:30]辉夜杯主赛事第二日胜者组半决赛 CDEC.Y赛后采访
2015/12/26 DOTA
Python实现批量把SVG格式转成png、pdf格式的代码分享
2014/08/21 Python
Python写入数据到MP3文件中的方法
2015/07/10 Python
使用 Python 实现微信群友统计器的思路详解
2018/09/26 Python
捷科时代的软件测试笔试题
2015/11/09 面试题
自主实习接收函
2014/01/13 职场文书
《珍珠泉》教学反思
2014/02/20 职场文书
运动会通讯稿500字
2014/02/20 职场文书
感恩教育活动总结
2014/05/05 职场文书
三好生演讲稿
2014/09/12 职场文书
认错检讨书
2014/10/02 职场文书
劳动争议和解协议书范本
2014/11/20 职场文书
2014年度安全工作总结
2014/12/04 职场文书
python实现简单反弹球游戏
2021/04/12 Python
Python+Appium新手教程
2021/04/17 Python