用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 focus不起作用的解决方法(主要是因为dom元素是否加载完成)
Nov 05 Javascript
JS实现切换标签页效果实例代码
Nov 01 Javascript
通过Javascript读取本地Excel文件内容的代码示例
Apr 08 Javascript
简单谈谈jQuery(function(){})与(function(){})(jQuery)
Dec 19 Javascript
js判断手机端(Android手机还是iPhone手机)
Jul 22 Javascript
js代码延迟一定时间后执行一个函数的实例
Feb 15 Javascript
create-react-app修改为多页面支持的方法
May 17 Javascript
解决vue打包css文件中背景图片的路径问题
Sep 03 Javascript
vue基于element-ui的三级CheckBox复选框功能的实现代码
Oct 15 Javascript
node实现爬虫的几种简易方式
Aug 22 Javascript
Layui事件监听的实现(表单和数据表格)
Oct 17 Javascript
uniapp引入支付宝原生扫码插件步骤详解
Jul 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
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
Fine Uploader文件上传组件应用介绍
2013/01/06 PHP
Apache下禁止php文件被直接访问的解决方案
2013/04/25 PHP
PHP的魔术常量__METHOD__简介
2014/07/08 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
Thinkphp框架开发移动端接口(1)
2016/08/18 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
2009/04/24 Javascript
JQUERY 对象与DOM对象之两者相互间的转换
2009/04/27 Javascript
js解析与序列化json数据(二)序列化探讨
2013/02/01 Javascript
jQuery function的正确书写方法
2013/08/02 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
2014/10/16 Javascript
JS实现选中当前菜单后高亮显示的导航条效果
2015/10/15 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
jQuery实现在HTML文档加载完毕后自动执行某个事件的方法
2017/05/08 jQuery
vue学习笔记之指令v-text &amp;&amp; v-html &amp;&amp; v-bind详解
2017/05/12 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
2017/12/27 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
自定义vue组件发布到npm的方法
2018/05/09 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
2018/09/15 Javascript
VUE实现强制渲染,强制更新
2019/10/29 Javascript
详解微信小程序「渲染层网络层错误」的解决方法
2021/01/06 Javascript
Python实现扫描局域网活动ip(扫描在线电脑)
2015/04/28 Python
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
2016/09/19 Python
对pandas中apply函数的用法详解
2018/04/10 Python
浅谈python的深浅拷贝以及fromkeys的用法
2019/03/08 Python
python 二维矩阵转三维矩阵示例
2019/11/30 Python
将pycharm配置为matlab或者spyder的用法说明
2020/06/08 Python
python使用布隆过滤器的实现示例
2020/08/20 Python
利用python制作拼图小游戏的全过程
2020/12/04 Python
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
档案接收函格式
2015/01/30 职场文书
2016年度员工工作表现评语
2015/12/02 职场文书