用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 相关文章推荐
js实现在字符串中提取数字
Nov 05 Javascript
parentElement,srcElement的使用小结
Jan 13 Javascript
jquery插件推荐浏览器嗅探userAgent
Nov 09 Javascript
基于javascript bootstrap实现生日日期联动选择
Apr 07 Javascript
深入理解jQuery之事件移除
Jun 02 Javascript
js实现显示手机号码效果
Mar 09 Javascript
js图片放大镜实例讲解(必看篇)
Jul 17 Javascript
js截取字符串功能的实现方法
Sep 27 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
Aug 06 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
Aug 06 Javascript
vue 巧用过渡效果(小结)
Sep 22 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
Oct 23 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中的时间处理
2006/10/09 PHP
使用PHP获取网络文件的实现代码
2010/01/01 PHP
php实现首页链接查询 友情链接检查的代码
2010/01/05 PHP
PHP COOKIE及时生效的方法介绍
2014/02/14 PHP
javascript 尚未实现错误解决办法
2008/11/27 Javascript
jQuery 使用手册(四)
2009/09/23 Javascript
Jquery 最近浏览过的商品的功能实现代码
2010/05/14 Javascript
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
JS面向对象编程浅析
2011/08/28 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
2016/12/29 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
2018/12/28 Javascript
NodeJs 模仿SIP话机注册的方法
2019/06/21 NodeJs
es6函数之箭头函数用法实例详解
2020/04/25 Javascript
Python Requests 基础入门
2016/04/07 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
如何在Django中设置定时任务的方法示例
2019/01/18 Python
python实现词法分析器
2019/01/31 Python
python+opencv3生成一个自定义纯色图教程
2020/02/19 Python
Python3 io文本及原始流I/O工具用法详解
2020/03/23 Python
Python使用pyyaml模块处理yaml数据
2020/04/14 Python
python爬虫今日热榜数据到txt文件的源码
2021/02/23 Python
python装饰器代码深入讲解
2021/03/01 Python
彻底弄明白CSS3的Media Queries(跨平台设计)
2010/07/27 HTML / CSS
amazeui 验证按钮扩展的实现
2020/08/21 HTML / CSS
Parts Express:音频、视频和扬声器的第一来源
2017/04/25 全球购物
PHP开发的一般流程
2013/08/13 面试题
介绍一下Mysql的存储引擎
2015/02/12 面试题
五水共治捐款倡议书
2014/05/14 职场文书
教师反邪教心得体会
2016/01/15 职场文书
七年级生物教学反思
2016/02/20 职场文书
python爬虫之selenium库的安装及使用教程
2021/05/23 Python
python之基数排序的实现
2021/07/26 Python
彻底解决MySQL使用中文乱码的方法
2022/01/22 MySQL
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle