用Javascript实现发送短信验证码间隔功能


Posted in Javascript onFebruary 08, 2021

在很多app和网站中,我们登陆或者注册账号,会有一个发送短信验证码的地方1,然而为了防止恶意获取验证码,我们一般都设置了可点击的时间间隔,时间间隔1完了过后,便又可以继续发送,接下来用代码实现

代码如下

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
手机号码:<input type="text"><button>发送验证码</button>
<script>
  var btn=document.querySelector('button')
  var time=3
  btn.addEventListener('click',function () {
    btn.disabled=true
    var timer=setInterval(function () {
      if (time<0){
        clearInterval(timer)
        btn.disabled=false
        btn.innerHTML='发送验证码'
        time=3
      }else {
        btn.innerHTML = '还剩' + time + '秒'
        time -= 1
      }
    },1000)
  })
</script>
</body>
</html>

效果如下

用Javascript实现发送短信验证码间隔功能

用Javascript实现发送短信验证码间隔功能

用Javascript实现发送短信验证码间隔功能

代码解释
这里因为我们只改变按钮的样式和功能,所以只获取了按钮,然后设置一个time变量,这是倒计时的时间。然后设置点击事件,当我们点击这个按钮过后让这个按钮的disable变为true,意思是不能够点击。
然后设置定时器,判断如果倒计时小于0,那么清除定时器,倒计时结束,让按钮变为可点击,里面的1文字变为发送验证码,接着重新给倒计时赋值为3.
如果倒计时大于0,把按钮里面的文字改为'还剩' + time + ‘秒',time?,每循环一次都判断一次

到此这篇关于用Javascript实现发送短信验证码间隔的文章就介绍到这了,更多相关js发送短信验证码内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
Jquery中getJSON在asp.net中的使用说明
Mar 10 Javascript
javascript如何判断输入的url是否正确
Apr 11 Javascript
jQuery/CSS3图片特效插件整理推荐
Dec 07 Javascript
JavaScript数组合并的多种方法
May 22 Javascript
微信小程序开发实战教程之手势解锁
Nov 18 Javascript
json的结构与遍历方法实例分析
Apr 25 Javascript
使用vue如何构建一个自动建站项目
Feb 05 Javascript
详解如何在vue-cli中使用vuex
Aug 07 Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
Dec 05 Javascript
vue 实现Web端的定位功能 获取经纬度
Aug 08 Javascript
解决layui下拉框监听问题(监听不到值的变化)
Sep 28 Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
Dec 29 Javascript
原生js 实现表单验证功能
Feb 08 #Javascript
js面向对象封装级联下拉菜单列表的实现步骤
Feb 08 #Javascript
JavaScript实现点击出现子菜单效果
Feb 08 #Javascript
深入理解javascript中的this
Feb 08 #Javascript
Vue中使用wangeditor富文本编辑的问题
Feb 07 #Vue.js
vue使用lodop打印控件实现浏览器兼容打印的方法
Feb 07 #Vue.js
js基于canvas实现时钟组件
Feb 07 #Javascript
You might like
一步一步学习PHP(6) 面向对象
2010/02/16 PHP
PHP在线生成二维码代码(google api)
2013/06/03 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
Yii基于数组和对象的Model查询技巧实例详解
2015/12/28 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
网页图片延时加载的js代码
2010/04/22 Javascript
jQuery Tips 为AJAX回调函数传递额外参数的方法
2010/12/28 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
2016/03/30 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
2016/06/15 Javascript
第一次接触神奇的Bootstrap菜单和导航
2016/08/01 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
bootstrap中的 form表单属性role=&quot;form&quot;的作用详解
2017/01/20 Javascript
vue项目打包后打开页面空白解决办法
2018/06/29 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
VUE实现图片验证码功能
2020/11/18 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
Python格式化压缩后的JS文件的方法
2015/03/05 Python
搞笑的程序猿:看看你是哪种Python程序员
2015/06/12 Python
python实现文本去重且不打乱原本顺序
2016/01/26 Python
python 禁止函数修改列表的实现方法
2017/08/03 Python
Python模块WSGI使用详解
2018/02/02 Python
python利用openpyxl拆分多个工作表的工作簿的方法
2019/09/27 Python
解决springboot yml配置 logging.level 报错问题
2020/02/21 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
python软件都是免费的吗
2020/06/18 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
瑞典时尚服装购物网站:Miinto.se
2017/10/30 全球购物
狗狗玩具、零食和咀嚼物的月度送货服务:Super Chewer
2018/08/22 全球购物
本科毕业生自我鉴定
2013/11/02 职场文书
4s客服专员岗位职责
2013/12/01 职场文书
护理实习自我鉴定
2013/12/14 职场文书
团队拓展活动总结
2014/08/27 职场文书