本文介绍如何使用JavaScript的setInterval和clearInterval方法实现点击获取验证码时的倒计时效果。通过禁用按钮、更新按钮文本及重置状态,有效防止恶意频繁请求,代码简洁实用。
JavaScript实现验证码倒计时功能
为防止恶意批量获取短信或邮箱验证码,网站通常在“获取验证码”按钮上添加倒计时功能。该功能实现简单,仅需配合setInterval和clearInterval两个定时器方法即可完成。具体效果与代码示例如下:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<input type="button" style="height:32px;width:120px;" value="点击发送验证码" onclick="sendCode(this)" />
<script type="text/javascript">
var clock = '';
var nums = 10;
var btn;
function sendCode(thisBtn)
{
btn = thisBtn;
btn.disabled = true; //将按钮置为不可点击
btn.value = nums+'秒后可重新获取';
clock = setInterval(doLoop, 1000); //一秒执行一次
}
function doLoop()
{
nums--;
if(nums > 0){
btn.value = nums+'秒后可重新获取';
}else{
clearInterval(clock); //清除js定时器
btn.disabled = false;
btn.value = '点击发送验证码';
nums = 10; //重置时间
}
}
</script>
如需了解更多倒计时相关实现,可参考专题《倒计时功能》。
通过结合setInterval与clearInterval,JavaScript能够轻松实现点击获取验证码的倒计时逻辑,希望上述示例能对您的开发学习有所帮助。