基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
相关阅读:
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
下面一段代码是小编给大家带来的js发送短信验证码后实现倒计时功能,代码简单易懂。
具体代码如下所示:
<!doctypehtml> <htmllang="en"> <head> <metacharset="UTF-8"> <metaname="Generator"content="EditPlus®"> <metaname="Author"content=""> <metaname="Keywords"content=""> <metaname="Description"content=""> <title>Document</title> <scriptsrc="http://cdn.bootcss.com/jquery/3.1.0/jquery.js"></script> <scriptsrc="http://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.js"></script> <!--<scriptsrc="https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>--> </head> <body> <inputid="phonenum"type="text"value="18518181818"/> <inputid="second"type="button"value="免费获取验证码"/> </body> <script> //发送验证码时添加cookie functionaddCookie(name,value,expiresHours){ //判断是否设置过期时间,0代表关闭浏览器时失效 if(expiresHours>0){ vardate=newDate(); date.setTime(date.getTime()+expiresHours*1000); $.cookie(name,escape(value),{expires:date}); }else{ $.cookie(name,escape(value)); } } //修改cookie的值 functioneditCookie(name,value,expiresHours){ if(expiresHours>0){ vardate=newDate(); date.setTime(date.getTime()+expiresHours*1000);//单位是毫秒 $.cookie(name,escape(value),{expires:date}); }else{ $.cookie(name,escape(value)); } } //根据名字获取cookie的值 functiongetCookieValue(name){ return$.cookie(name); } $(function(){ $("#second").click(function(){ sendCode($("#second")); }); v=getCookieValue("secondsremained");//获取cookie值 if(v>0){ settime($("#second"));//开始倒计时 } }) //发送验证码 functionsendCode(obj){ varphonenum=$("#phonenum").val(); varresult=isPhoneNum(); if(result){ //doPostBack('${base}/login/getCode.htm',backFunc1,{"phonenum":phonenum}); addCookie("secondsremained",60,60);//添加cookie记录,有效时间60s settime(obj);//开始倒计时 } } //开始倒计时 varcountdown; functionsettime(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毫秒执行一次 } //校验手机号是否合法 functionisPhoneNum(){ varphonenum=$("#phonenum").val(); varmyreg=/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; if(!myreg.test(phonenum)){ alert('请输入有效的手机号码!'); returnfalse; }else{ returntrue; } } </script> </html>
以上所述是小编给大家介绍的基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!