中国优质的IT技术网站
专业IT技术创作平台
IT职业在线教育平台
思路: 1.获取Input框输入值,需要对去除两边空白后的内容进行正则验证,判断手机号码是否符合规范 2.test(正则内容)验证后返回true,false 3.设置按钮倒计时,设置默认sec=60,点击后开始计数,倒计时按钮为禁用状态, 4.封装倒计时函数,获取数字,即btn按钮的内容,设置定时器,如果倒计时小于0就恢复倒计时,重新验证码发送,否则就倒计时减减
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> input { height: 25px; line-height: 25px; font-size: 1.2em; } button { width: 120px; height: 30px; margin-top: 10px; } </style> </head> <body> <h1>短信验证码倒计时</h1> <input type="text" name="moblie" id="moblie" value="13595924575" placeholder="请输入手机号码" required> <button id="btn">发送验证码</button> </body> </html> <script src="./assets/js/jquery.js"></script> <script> // 默认秒数 var sec = 60 $("#btn").click(function () { //js 是 用 value属性获取值 //jq 是 用 val() 方法获取值 var moblie = $("input[name=moblie]").val() moblie = $.trim(moblie) // console.log(moblie) // 验证手机号码和格式是否正确 var reg = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/; if (!reg.test(moblie)) { alert('手机号码格式错误') return false } // 给按钮设置倒计时 $("#btn").text(sec) $("#btn").attr('disabled', true) // 倒计时 var T = setInterval(function () { var num = $("#btn").text() num = parseInt(num) console.log(num) if (num <= 0) { $('#btn').text("重新发送验证码") $("#btn").attr('disabled', false) clearInterval(T) } else { $('#btn').text(--num) } }, 20) }) </script>
微信扫码分享