前期回顾    

懒人必备 —— 时间神器 moment_0.活在风浪里的博客-CSDN博客亲测好用,及其好使的插件,开发懒人必整,就算是自己可以写,一大堆代码,真的要写吗?https://blog.csdn.net/m0_57904695/article/details/123767269?spm=1001.2014.3001.5501


先说先验证码思路,其实很简单,

1、前端触发获取验证码,同步显示有效验证倒计时;

2、后台通过代理平台发送验证短信;

解释:你在页面触发验证码请求后,后台接口发送至代理平台,代理平台发送信息到你手机上,验证码回复的信息可以自定义设置,需要在代理验证码平台购买

念及此, 写一个,前台很有意思,短短几行代码,实现一个功能,热爱代码永不断,

前台效果:

用例:

<template><div class="login"><el-input v-model="phone" :suffix-icon="icon" class="inp"></el-input><el-button type="primary" v-if="flag" @click="getCode" :disabled="dis">获取验证码</el-button><span v-else>获取验证码还有{{ num }}秒</span></div>
</template><script>
export default {data() {return {phone: "",num: 5,flag: true,//按钮和验证码的切换条件icon: 'el-icon-close',dis: true};},methods: {getCode() {this.flag = falselet timer = null;//每次点击都会先赋值成null,防止用户快速多次点击,造成//定时器队列timer = setInterval(() => {//点击按钮如果num大于等于1就--,if (this.num >= 1) {this.num--;} else {//点击按钮如果没有大于等于1,说明小于1,就恢复成按钮状态clearInterval(timer);this.flag = true;}}, 1000);},phoneReg() {let reg = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/if (reg.test(this.phone)) {this.icon = 'el-icon-check'this.dis = false} else {this.icon = 'el-icon-close'this.dis = true}}},watch: {phone: {// deep: true,// immediate: true,handler(newVal, oldVal) {// 其实将phoneReg这个函数直接写在这里也可以,// 但是为了结构更加清晰,尽量的将逻辑抽离,这样一眼明了!this.phoneReg()},},},};
</script><style lang="scss" scoped>
.login {padding: 15px;/deep/ .el-input__inner{height: 50px;border-radius: 5px;}/deep/ .el-input{width: 400px;margin: 15px;}/deep/ .el-icon-check{color: green;font-size: 25px;line-height: 50px;}/deep/ .el-icon-close:before {font-size: 25px;color: red;line-height: 50px;}
}
</style>

结语:

祝大家在2022都变得更强 

30秒学会 —— 《获取验证码基本操作》相关推荐

  1. 小程序激励视频观看超过30秒,获取奖励

    小程序激励视频观看超过30秒,获取奖励 需求是这样子的,小程序里面插入了video标签,拥有视频功能,用户看视频超过30秒时候,会显示弹框弹出奖励 思路: 需求是这样子的,小程序里面插入了video标 ...

  2. 使用 JavaScript 基于 定时器 实现30秒倒计时限制 验证码发送

    存放于工具 JS 文件中的代码 var clock = '';//定时器对象,用于页面30秒倒计时效果 var nums = 30; var validateCodeButton; //基于定时器实现 ...

  3. 震惊了!每30秒学会一个Python小技巧,Github星数4600+

    点击上方"码农突围",马上关注,每天上午8:50准时推送 真爱,请置顶或星标 作者:xiaoyu,数据爱好者 Python数据科学出品 很多学习Python的朋友在项目实战中会遇到 ...

  4. 每30秒学会一个Python小技巧,GitHub星数4600+

    (图片付费下载自视觉中国) 作者 | xiaoyu,数据爱好者 来源 | Python数据科学(ID:PyDataScience) 很多学习Python的朋友在项目实战中会遇到不少功能实现上的问题,有 ...

  5. 震惊了!每30秒学会一个Python小技巧,Github星数6000+

    点击上方"Python数据科学",星标公众号 重磅干货,第一时间送达 ☞500g+超全学习资源免费领取,干货来袭! 作者:xiaoyu,数据爱好者 Python数据科学出品 很多学 ...

  6. python打乱list_超实用!每 30 秒学会一个 Python 小技巧,GitHub 标星 5300!

    公众号关注 "GitHubDaily" 设为 "星标",每天带你逛 GitHub! 很多学习 Python 的朋友在项目实战中会遇到不少功能实现上的问题,有些问 ...

  7. python unique函数_每30秒学会一个Python小技巧,GitHub星数4600+

    作者 | xiaoyu,数据爱好者来源 | Python数据科学(ID:PyDataScience)很多学习Python的朋友在项目实战中会遇到不少功能实现上的问题,有些问题并不是很难的问题,或者已经 ...

  8. 【编程导航】国外大神总结的实用代码,30 秒学会!

    开发时常用的优秀短代码片段,都在这里了. 编程导航 致力于推荐优质编程资源

  9. 如何在微信公众号推文加入Word文档、Excel表格,超实用30秒学会

    大家都知道,当我们订阅了公众号(关注公众号),公众号的运营者就能给我们推送最新发布的公众号文章,我们也能在订阅号栏收到最新的文章.有一些微信公众号推文中会有附件,如word文档.excel表格,比如政 ...

最新文章

  1. 企业数据中心和互联网数据中心有何不同?
  2. Android系统中的任意文件读写方法
  3. 一次http完整的请求tcp报文分析
  4. [转载]Oracle ltrim() 函数用法
  5. 事务的特性和隔离级别
  6. 【docker系列】docker基本常用命令
  7. lisp坐标一键生成_Grasshopper自动生成坡度标注
  8. ubuntu下针对php的thrift 安装折腾记录
  9. Tomas Mikolov's Recurrent Neural Networks Language Modeling Toolkit
  10. 在Windows上使用Git和GitHub
  11. jmeter mysql 执行计划_[PT_06] 性能测试-场景设计与实现(登录随机购买业务)
  12. 启用Administrator账户解决windows10家庭版修改c盘Users下的中文用户名
  13. html图片轮播15个自动,15个超强的jQuery/HTML5图片轮播插件
  14. 《辛雷学习方法》读书笔记——第三章 身体
  15. JAVA的stream流操作详细解析
  16. linux灵活提取ip脚本
  17. 生物特征识别技术的标准化工作
  18. 基于头条新闻数据的文本分类系统实战
  19. 苹果操作系统 leopard 10.5 (PC破解完全中文安装版,IBM X40安装成功)
  20. 数据结构2(线性表)

热门文章

  1. C# SqlSugar框架的学习使用(一)--SqlSugar简介及创建
  2. linux下tar解压文件(解决unzip无法解压超过2gb文件方法
  3. struts2深入浅出(备java基础,javaweb,javaee,框架)-任亮-专题视频课程
  4. 串口接收模块uart_rx详解
  5. 支付宝和Ping++的包冲突问题:Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files defin
  6. IP-Guard应用攻略:USBkey加密权限变更再添新技
  7. 写给大忙人看的Linux文件处理命令
  8. 商务费用 vs 交付费用
  9. 济南PMP俱乐部成立
  10. 网站建设,网站制作,网站设计,灌云网站建设,e概念工作室,连云港网站建设