本文实例讲述了jQuery实现倒计时重新发送短信验证码功能的方法。分享给大家供大家参考,具体如下:
<!DOCTYPE html> <html> <head> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <script type="text/javascript"> var countdown=60; function settime(obj) { if (countdown == 0) { obj.removeAttribute("disabled"); obj.value="免费获取验证码"; countdown = 60; return; } else { obj.setAttribute("disabled", true); obj.value="重新发送(" + countdown + ")"; countdown--; } setTimeout(function() { settime(obj) } ,1000) } </script> <body> <input type="button" id="btn" value="免费获取验证码" onclick="settime(this)" /> </body> </html>
实践例子:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>抢占iPhone7专属预订名额</title> <link rel="stylesheet" href="getiphone.css" /> </head> <body style="width: 100%;height: 100%;background:#fff url(iponeImg/beijing.png) no-repeat center fixed;background-size:100% 100%;text-align: center;"> <div class="top"> <img src="iponeImg/wenan.png" /> </div> <h1 class="title"><span></span>上市时间同步发售<span></span><br />首批新苹果30个预订专属名额</h1> <form id="activityForm" class="form-horizontal" method="post" action="/wamei/activityController/save.htm"> <label> <span><img src="iponeImg/yonghu.png" /></span> <i></i> <input type="text" class="inline-input" id="name" name="name" placeholder="请输入您的真实姓名" datatype="*1-20" errormsg="姓名最多20个中英文字符!" nullmsg="请输入您的真实姓名!" /> </label> <label> <span><img src="iponeImg/dianhua.png" /></span> <i></i> <input type="text" class="inline-input" id="mobilePhone" name="mobilePhone" placeholder="请输入您的手机号码" datatype="*" errormsg="请输入您的手机号码!" nullmsg="请输入您的手机号码!" /> </label> <label> <span><img src="iponeImg/yanzhengma.png" /></span> <i></i> <input type="text" id="validateCode" class="inline-input" name="validateCode" placeholder="验证码" datatype="*" errormsg="请输入验证码!" nullmsg="请输入验证码!" style="width:180px;" /> <a id="num" mark="1" >获取验证码</a> </label> <label id="get"> <input id="confirm" type="submit" value="提交抢占名额" /> </label> <label> <a href="/wamei/pages/activity/details.html" id="activity">查看活动详情</a> </label> </form> <div class="bottom"> <span></span> <img src="iponeImg/logo.png" /> <span></span> </div> <div id="success"> <div class="successImg"> <a class="close"></a> <p><img src="iponeImg/chenggong.png" />恭喜提交成功</p> <p style="padding-top: 0px;font-size: 23px;">分享一下,安抚激动的心</p> </div> </div> </body> </html> <!-- scripts --> <script src="/wamei/pages/js/jquery.min.js"></script> <script src="/wamei/pages/js/jquery.form.js"></script> <script src="/wamei/pages/js/bootstrap.min.js"></script> <script src="/wamei/pages/js/Validform_v5.3.2.js"></script> <script type="text/javascript"> $(function(){ //提交表单 $("#activityForm").Validform({ btnSubmit:"#confirm", tiptype:function(msg){ if(msg != '' && msg!='通过信息验证!'){ alert(msg); } }, tipSweep:true, beforeSubmit:function(){ saveForm(); return false; } }); }); //只允许在APP内打开 function isMobile(){ var u = navigator.userAgent; var mobileFlag = u.indexOf('type/tfbrowser') > -1; return mobileFlag; } //手机号码验证 $("#mobilePhone").blur(function(){ var mobilePhone =$("#mobilePhone").val(); var myreg = /^(((13[0-9]{1})|(14[0-9]{1})|(17[0]{1})|(15[0-3]{1})|(15[5-9]{1})|(18[0-9]{1}))+\d{8})$/; if(mobilePhone){ if(!myreg.test(mobilePhone)){ alert("请输入有效的手机号码!"); $("#mobilePhone").val(""); return ; } } }); //发送短信验证码 $("#num").click(function(){ var mobilePhone =$("#mobilePhone").val(); var url="/wamei/activityController/sendValidCode.htm"; if(!mobilePhone){ alert("请输入您的手机号码!"); return ; } var mark = $("#num").attr("mark"); if("1"==mark){ settime(this); $.post(url,{mobilePhone:mobilePhone},function(html){ var data = eval("("+html+")"); if(data && data.statusCode==1){ console.log("send success!"); alert("短信验证码已发送,请查收!"); }else{ alert(data.msg); } }); } }); //提交form表单 function saveForm(){ $("#activityForm").ajaxSubmit({ //data: {'columnStr':columnStr}, type: 'post', async: false, success: function($data) { var data = eval("("+$data+")"); if(data && data.statusCode==1){ $("#success").show(); }else{ alert(data.msg); $("#mobilePhone").val(""); } } }); } $(".close").click(function(){ $("#success").hide(); window.location.reload(); }) //短信后倒计时 var countdown=60; function settime(obj) { if (countdown == 0) { $(obj).attr("disabled",false); $(obj).attr("mark","1"); $(obj).html("获取验证码"); countdown = 60; return; } else { $(obj).attr("disabled", true); $(obj).attr("mark","0"); $(obj).html("重新发送(" + countdown + ")"); countdown--; } setTimeout(function() { settime(obj) } ,1000) } // $("#confirm").click(function(){ // $("#success").show(); // }) </script>
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery日期与时间操作技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery表格(table)操作技巧汇总》、《jquery中Ajax用法总结》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
本文向大家介绍iOS实现短信验证码倒计时,包括了iOS实现短信验证码倒计时的使用技巧和注意事项,需要的朋友参考一下 在开发中,经常在需要用户注册的时候会需要实现验证码倒计时的功能,下面是解决这个问题的两种思路(使用UIButton控件) 一、利用NSTimer计时器 1.新建一个UIButton按钮,设置成属性,名为codeButton。(UIButton样式一定要为自定义,否则后面倒计时数秒时会
本文向大家介绍js实现发送验证码后的倒计时功能,包括了js实现发送验证码后的倒计时功能的使用技巧和注意事项,需要的朋友参考一下 之前分享过只用js实现倒计时的功能,后来测试时发现,刷新或关闭网页后,倒计时就不能用了.网上也没找到合适的解决方案,所以自己就写了个,这次的算是优化版吧,能满足刷新或重新打开网页后,倒计时依然能用 特别说明: cookie最初创建的有效时间是60秒.也就是说,你
本文向大家介绍基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭),包括了基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)的使用技巧和注意事项,需要的朋友参考一下 相关阅读: 基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能) 今天测试提了一个bug,发送短信倒计时功能,要求关闭页面也要进行倒计时。这想到了,当年我参与的周杰伦演唱会的先付
本文向大家介绍基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能),包括了基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)的使用技巧和注意事项,需要的朋友参考一下 相关阅读: 基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭) 下面一段代码是小编给大家带来的js发送短信验证码后实现倒计时功能,代码简单易懂。 具体代码如下
本文向大家介绍Swift实现iOS应用中短信验证码倒计时功能的实例分享,包括了Swift实现iOS应用中短信验证码倒计时功能的实例分享的使用技巧和注意事项,需要的朋友参考一下 在开始之前,我们先来了解一个概念 属性观测器(Property Observers): 属性观察器监控和响应属性值的变化,每次属性被设置值的时候都会调用属性观察器,甚至新的值和现在的值相同的时候也不例外。 可以为属性添加如下
本文向大家介绍vue实现验证码按钮倒计时功能,包括了vue实现验证码按钮倒计时功能的使用技巧和注意事项,需要的朋友参考一下 本人最近开始尝试学习vue.js。想使用vue写一个小例子,就选择做验证码按钮倒计时功能。 上网上搜了一下,也把他们的代码试了一下,自己出了很多问题。所以,需要写一篇基础入门的文章,避免后面人采坑。 这是按照网上写的HTML页面 js写成 发现浏览器一直报错Un