实现验证码倒计时功能

在用户获取验证码的场景中,经常需要实现一个倒计时功能,以防止用户频繁请求验证码。将介绍一种实现验证码倒计时功能的常见方法。

核心思路:

  1. 按钮状态切换: 用户点击“获取验证码”按钮后,按钮变为不可点击状态,并开始倒计时。
  2. 倒计时显示: 按钮上显示倒计时秒数,例如“60秒后重新获取”。
  3. 计时结束: 倒计时结束后,按钮恢复可点击状态,显示“获取验证码”。

代码示例:

let countdown = 60;
let timer = null;

document.getElementById('getVerificationCode').addEventListener('click', function() {
  this.disabled = true;
  this.innerText = countdown + '秒后重新获取';

  timer = setInterval(() => {
    countdown--;
    this.innerText = countdown + '秒后重新获取';

    if (countdown <= 0) {
      clearInterval(timer);
      this.disabled = false;
      this.innerText = '获取验证码';
      countdown = 60;
    }
  }, 1000);
});

注意:

  • 以上代码仅供参考,实际应用中需根据具体情况进行调整。
  • 为确保安全性,建议在服务器端也进行验证码请求频率的限制。
rar
Android_yanzengma.rar 预估大小:48个文件
folder
Android_yanzengma 文件夹
folder
bin 文件夹
file
Android_yanzengma.apk 252KB
file
classes.dex 610KB
folder
res 文件夹
folder
crunch 文件夹
folder
drawable-hdpi 文件夹
file
ic_launcher.png 6KB
folder
drawable-xhdpi 文件夹
file
ic_launcher.png 9KB
folder
drawable-xxhdpi 文件夹
file
ic_launcher.png 17KB
folder
drawable-mdpi 文件夹
file
ic_launcher.png 3KB
file
jarlist.cache 120B
folder
dexedLibs 文件夹
file
android-support-v4-4f02bf6139076e37f48e54be55224d1c.jar 206KB
folder
classes 文件夹
folder
com 文件夹
folder
zhh 文件夹
folder
android 文件夹
file
MainActivity.class 2KB
file
MainActivity$1$2.class 975B
file
BuildConfig.class 339B
file
MainActivity$1.class 2KB
file
R$layout.class 394B
file
R$id.class 606B
file
R$drawable.class 398B
file
R$dimen.class 452B
file
MainActivity$1$1.class 1KB
file
R$attr.class 331B
file
R$menu.class 379B
file
R.class 643B
file
R$string.class 463B
file
R$style.class 422B
file
resources.ap_ 41KB
file
AndroidManifest.xml 873B
folder
res 文件夹
folder
drawable-ldpi 文件夹
folder
values-v11 文件夹
file
styles.xml 334B
folder
menu 文件夹
file
main.xml 263B
folder
values-v14 文件夹
file
styles.xml 391B
folder
drawable-hdpi 文件夹
file
ic_launcher.png 7KB
folder
drawable-xhdpi 文件夹
file
ic_launcher.png 12KB
folder
drawable-xxhdpi 文件夹
file
ic_launcher.png 24KB
folder
values 文件夹
file
strings.xml 232B
file
styles.xml 697B
file
dimens.xml 220B
folder
values-sw720dp-land 文件夹
file
dimens.xml 277B
folder
drawable-mdpi 文件夹
file
ic_launcher.png 4KB
folder
values-sw600dp 文件夹
file
dimens.xml 203B
folder
layout 文件夹
file
activity_main.xml 3KB
file
proguard-project.txt 781B
file
ic_launcher-web.png 50KB
folder
assets 文件夹
folder
gen 文件夹
folder
com 文件夹
folder
zhh 文件夹
folder
android 文件夹
file
BuildConfig.java 157B
file
R.java 3KB
folder
.settings 文件夹
file
org.eclipse.jdt.core.prefs 177B
folder
src 文件夹
folder
com 文件夹
folder
zhh 文件夹
folder
android 文件夹
file
MainActivity.java 3KB
file
.project 853B
file
.classpath 475B
file
project.properties 563B
file
AndroidManifest.xml 873B
folder
libs 文件夹
file
android-support-v4.jar 543KB
...
rar 文件大小:1.27MB