分享好友 资讯首页 资讯分类 切换频道

js实现获取验证码倒计时

2025-11-10 15:4000

在JavaScript中实现获取验证码的倒计时功能可以通过使用setTimeout和setInterval函数来实现。以下是一个简单的示例,展示了如何实现一个验证码获取的倒计时功能。假设验证码发送后,每隔一定时间(例如每60秒)更新一次验证码,并在页面上显示剩余时间。

js实现获取验证码倒计时

HTML部分:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>验证码倒计时</title>
</head>
<body>
    <div id="countdown">验证码已发送,剩余时间:<span id="timeLeft">60</span>秒</div>
    <button id="refreshBtn">重新发送验证码</button>
    <script src=https://www.271shop.com/static/image/nopic320.png>

JavaScript部分 (countdown.js):

// 设置初始倒计时时间(秒)
let initialTime = 60; 
let timer; // 用于存储setTimeout返回的ID,以便在需要时清除定时器
let refreshBtn = document.getElementById(’refreshBtn’); // 获取按钮元素
let countdownElement = document.getElementById(’countdown’); // 获取倒计时显示元素
let timeLeftElement = document.getElementById(’timeLeft’); // 获取剩余时间显示元素
// 当点击按钮时开始倒计时并显示验证码
refreshBtn.addEventListener(’click’, function() {
    initialTime = 60; // 重置初始时间为60秒
    startCountdown(); // 开始倒计时函数
});
function startCountdown() {
    if (timer) { // 如果定时器已经存在,则重置时间并更新显示
        timeLeftElement.textContent = initialTime; // 更新剩余时间显示
        return; // 不启动新的定时器,避免重复计时
    }
    timer = setTimeout(function() { // 设置定时器,每隔一段时间执行一次函数内的代码(这里是更新剩余时间和状态)
        if (initialTime > 0) { // 如果还有剩余时间,则更新显示并继续倒计时
            timeLeftElement.textContent = --initialTime; // 更新剩余时间显示并递减时间计数
            startCountdown(); // 递归调用以继续倒计时直到时间用完(这里使用了递归调用)
        } else { // 如果时间用完(倒计时结束),则重置状态并准备重新发送验证码或进行其他操作
            // 这里可以添加重新发送验证码的逻辑或重置页面状态等操作...
            initialTime = 60; // 重置初始时间为可以再次发送验证码的状态
            timeLeftElement.textContent = ’验证码已发送,点击重新发送’; // 更新显示状态以提示用户重新发送验证码或进行其他操作... 清除定时器(停止计时)并准备下一次操作,这通常是通过清除之前设置的定时器来实现的,在这个例子中,我们使用了递归调用来实现倒计时功能,但请注意递归调用的深度限制可能会导致问题,在实际应用中,使用setInterval可能是一个更好的选择来避免潜在的递归深度问题,根据实际需求,你可能还需要添加额外的逻辑来处理用户输入、验证状态等。
举报
收藏 0
打赏 0
评论 0
以前注册了滴滴换了手机怎么办呢
如果注册滴滴后更换了手机,无需担心。只需在新手机上重新下载滴滴司机端软件,并使用之前的账号登录,上传相关证件进行验证,即可继续享受滴滴服务。如有更多疑问,可联系滴滴客服解决。

0评论2026-04-070

联通如何用短信查话费余额
联通用户可以通过发送短信查询话费余额。编辑短信“CXYE”或“余额”至10010,即可收到回复短信,显示当前话费余额。此服务简单快捷,只需几步操作,即可了解账户余额情况。

0评论2026-04-070

 
友情链接