本文首先分析手机发送验证码的原理,再对javascript发送短信验证码予以实现,具体思路如下:
实现点击“发送验证码”按钮后,按钮依次显示为“59秒后重试”、“58秒后重试”…直至倒计时至0秒时再恢复显示为“发送验证码”。在倒计时期间按钮为禁用状态 .
第一步、获取按钮、绑定事件、设置定时器变量和计时变量
第二步、添加定时器,每隔1秒钟计时减 1,直至当计时小于等于 0 时清除定时器,按钮恢复为“发送验证码”,否则显示为“X秒后重试”
效果图:
实现代码:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> window.onload=function(){ var send=document.getElementById('send'), times=60, timer=null; send.onclick=function(){ // 计时开始 var that = this; this.disabled=true; timer = setInterval(function(){ times --; that.value = times + "秒后重试"; if(times <= 0){ that.disabled =false; that.value = "发送验证码"; clearInterval(timer); times = 60; } //console.log(times); },1000); } } </script> </head> <body> <input type="button" id="send" value="发送验证码"> </body> </html>
注意点:
设置按钮是否为禁用时,send.disabled=true; send.disabled=false;
true和false不能加引号!true和false不能加引号!true和false不能加引号!否则值永远为真。
也可用send.setAttribute('disabled','disabled');
或send.removeAttribute('disabled');
以上就是为大家分享的javascript发送短信验证码全部代码,希望对大家的学习有所帮助。