首页 > 编程 > JavaScript > 正文

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

2019-11-20 09:06:15
字体:
来源:转载
供稿:网友

相关阅读:

基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)

下面一段代码是小编给大家带来的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>//发送验证码时添加cookiefunction 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记录,有效时间60ssettime(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实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表