Js获取短信验证码倒计时前端效果

  1. <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
  2. <html xmlns=“http://www.w3.org/1999/xhtml”>
  3. <head>
  4. <title></title>
  5. <script src=“https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js” type=“text/javascript”></script>
  6. <script type=“text/javascript”>
  7. /*——————————————-*/
  8. var InterValObj; //timer变量,控制时间
  9. var count = 120; //间隔函数,1秒执行
  10. var curCount;//当前剩余秒数
  11. var code = “”; //验证码
  12. var codeLength = 6;//验证码长度
  13. function sendMessage() {
  14.     curCount = count;
  15.     var phone=$(“#phone”).val();//手机号码
  16.     if(phone != “”){
  17.         //产生验证码
  18.         for (var i = 0; i < codeLength; i++) {
  19.             code += parseInt(Math.random() * 9).toString();
  20.         }
  21.         //设置button效果,开始计时
  22.         $(“#btnSendCode”).attr(“disabled”, “true”);
  23.         $(“#btnSendCode”).val(“请在” + curCount + “秒内输入验证码”);
  24.         InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
  25.     //向后台发送处理数据
  26.         $.ajax({
  27.             type: “POST”, //用POST方式传输
  28.             dataType: “text”, //数据格式:JSON
  29.             url: ‘Login.ashx’, //目标地址
  30.             data: “phone=” + phone + “&code=” + code,
  31.             error: function (XMLHttpRequest, textStatus, errorThrown) { },
  32.             success: function (msg){ }
  33.         });
  34.     }else{
  35.         alert(“手机号码不能为空!”);
  36.     }
  37. }
  38. //timer处理函数
  39. function SetRemainTime() {
  40.     if (curCount == 0) {
  41.         window.clearInterval(InterValObj);//停止计时器
  42.         $(“#btnSendCode”).removeAttr(“disabled”);//启用按钮
  43.         $(“#btnSendCode”).val(“重新发送验证码”);
  44.         code = “”; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效
  45.     }
  46.     else {
  47.         curCount–;
  48.         $(“#btnSendCode”).val(“请在” + curCount + “秒内输入验证码”);
  49.     }
  50. }
  51. </script>
  52. </head>
  53. <body>
  54. <form>
  55.     <div>
  56.         <font color=“red”>*</font>手机号码:
  57.     </div>
  58.     <div>
  59.         <input type=“text” id=“phone” name=“phone”/>
  60.     </div>
  61.     <div>
  62.         <font color=“red”>*</font>验证码:
  63.     </div>
  64.     <div>
  65.         <input type=“text” id=“checkCode” name=“checkCode” size=“6”/>
  66.         <input id=“btnSendCode” type=“button” value=“发送验证码” onclick=“sendMessage()” />
  67.     </div>
  68. </form>
  69. </body>
  70. </html>