vue实现验证码倒计时按钮
本文实例为大家分享了vue实现验证码倒计时按钮的具体代码,供大家参考,具体内容如下
【vue实现验证码倒计时按钮】1、点击“发送验证码”按钮后进行逻辑判断:
?? 如果邮箱已输入且格式正确:按钮变为“已发送” ,此时为不可点击状态 并开始120s倒计时;
?? 如果邮箱未输入或格式不正确:显示错误的提示信息。
2、120s倒计时结束后按钮变为“重新发送验证码” 。
html:
{{tip}} //出错提示
js:
data() {return {tip: "用Email找回密码",isTip: false,isActive: true,showNum: false,wait_timer: false,hasError: false,email: ""}},methods: {cancelError: function(event) {this.hasError = false; this.isActive = true; this.isTip = false; this.tip = "用Email找回密码"; },getCode: function() {if (this.wait_timer > 0) {return false; }if (!this.email) {this.hasError = true; this.isActive = false; this.isTip = true; this.tip = "Email不能为空"; return false; }if (!/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test(this.email)) {this.hasError = true; this.isActive = false; this.isTip = true; this.tip = "Email地址无效"; return false; }this.showNum = true; this.wait_timer = 120; var that = this; var timer_interval = setInterval(function() {if (that.wait_timer > 0) {that.wait_timer--; } else {clearInterval(timer_interval); }}, 1000); //在这里调取你获取验证码的ajax},getCodeText: function() {if (this.wait_timer > 0) {return "已发送"; }if (this.wait_timer === 0) {this.showNum = false; return "重新发送验证码!"; }if (this.wait_timer === false) {return "发送验证码!"; }},}
css:
.ret_icon-email {background: url(../../assets/pics/email.svg) no-repeat; //图片为本地图片width: 20px; height: 20px; position: absolute; top: 12px; left: 16px; }.input_email0 {border: 1px solid rgba(239, 83, 80, 1); }.input_number {width: 112px; height: 44px; text-indent: 16px; margin-right: 12px; }.btn_number {width: 154px; height: 44px; border-radius: 4px; box-sizing: border-box; border: 1px solid rgba(76, 175, 80, 1); line-height: 16px; outline: none; }.span_number {color: rgba(76, 175, 80, 1); }.btn_number.gray {background: rgba(242, 244, 245, 1); border: 1px solid rgba(0, 0, 0, 0.05); }.span_number.gray_span {color: #9a9c9a; }.num_green.num {color: rgba(76, 175, 80, 1); }
效果图:
文章图片
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- vue-cli|vue-cli 3.x vue.config.js 配置
- 2020-04-07vue中Axios的封装和API接口的管理
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- java中如何实现重建二叉树
- 人脸识别|【人脸识别系列】| 实现自动化妆