我的编程空间,编程开发者的网络收藏夹
学习永远不晚

微信小程序如何实现验证码倒计时效果

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

微信小程序如何实现验证码倒计时效果

这篇文章主要介绍了微信小程序如何实现验证码倒计时效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序如何实现验证码倒计时效果文章都会有所收获,下面我们一起来看看吧。

如果写过js的倒计时,那么小程序中使用也是差不多的;

代码:

data: {      daojishi:60,    inter:''    },  daojishi: function () {    this.data.inter = setInterval((res) => {      this.fun();    }, 1000);  },  fun: function () {    let t = this.data.daojishi;    t--;    this.setData({      daojishi: t    })    if (t <= 0) {      // location.href = "https://www.baidu.com";      clearInterval(this.data.inter);      this.setData({        isyanzhengma: true      })    }  },

手机登录、填手机号获取验证码,倒计时后重新获取效果

描述:

输入正确的手机号并且输入验证码后,手机登录按钮变为红色可点击状态;自动验证输入的手机号是否为合法手机号;点击获取动态码后开始60秒倒计时后才可以再次获取动态码;

效果图:

微信小程序如何实现验证码倒计时效果

代码:

html:

<view class="dltel">  <view class="teltit">手机快捷登录</view>  <view class="inpbox">    <input placeholder="请输入手机号" class="inpbtn" type='number' maxlength="11" value="{{mobile}}" bindinput='blurPhone' />    <text class="dongtaima {{hui?'hui':'red'}}" wx:if="{{isyanzhengma}}" bindtap="dongtaima">获取动态码</text>    <text class="dongtaima" wx:else>重发({{daojishi}})</text>  </view>  <view class="inpbox">    <input placeholder="请输入验证码" value="{[code]}" maxlength="6" class="inpbtn" bindinput="codetap"  />  </view>  <view class="teldl {{dlno ? 'tou50':''}}" bindtap="teldltap">    <text class="icontxt">手机登录</text>  </view></view>

js:

// pages/dltel/dltel.jsimport {  sendCode,  mobileLogin} from "../../utils/requst/api.js";Page({    data: {    navbarData: {      isfixed: false,      iswhite: false, //icon color      showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示      title: '登录', //导航栏 中间的标题      backgroundcolor: '#fff',      isintercept: false //返回拦截    },    mobile: '',    code: '',    isyanzhengma: true,    hui: true,    dlno: true,    daojishi: 60,    teltrue: false,    inter: '',  },  // 手机号验证  blurPhone: function (e) {    this.setData({      mobile: e.detail.value    })    let phone = this.data.mobile;    if (!(/^1[34578]\d{9}$/.test(phone))) {      this.setData({        teltrue: false,        hui: true,      })      if (phone.length >= 11) {        wx.showToast({          title: '手机号有误',          icon: 'none',          duration: 2000        })      }    } else {      this.setData({        teltrue: true,        hui: false,      })      console.log('验证成功', this.data.teltrue)    }  },  dongtaima: function (e) {    if (this.data.teltrue & !this.data.hui) {      let params = {        mobile: this.data.mobile      }      sendCode(params).then((res) => {        console.log(res);        if (res.data.msg == '发送成功!') {          wx.showToast({            title: res.data.msg,            icon: "none",            duration: 2000          })          this.setData({            isyanzhengma: false          })          this.daojishi();        } else {          wx.showToast({            title: "发送失败,请重发!",            icon: "none",            duration: 2000          })        }      })    } else if (!this.data.teltrue) {      wx.showToast({        title: "请填写正确的手机号!",        icon: "none",        duration: 2000      })    }  },  codetap: function (e) {    // console.log(e);    this.setData({      code: e.detail.value    })    if (this.data.teltrue & this.data.code != '') {      this.setData({        dlno: false      })    }  },  daojishi: function () {    this.data.inter = setInterval((res) => {      this.fun();    }, 1000);  },  fun: function () {    let t = this.data.daojishi;    t--;    this.setData({      daojishi: t    })    if (t <= 0) {      // location.href = "https://www.baidu.com";      clearInterval(this.data.inter);      this.setData({        isyanzhengma: true      })    }  },  teldltap: function () {    let params = {      code: this.data.code,      mobile: this.data.mobile    }    if (this.data.teltrue & this.data.code != '') {      mobileLogin(params).then((res) => {        // console.log(params);        // console.log(res);        if (res.data.message == "ok") { //登录成功 修改参数          //getApp().globalData.token = res.data.data.token;          //getApp().globalData.type = res.data.data.type;          //getApp().globalData.telnum = res.data.data.mobile;          //wx.setStorageSync('token', res.data.data.token);          //wx.setStorageSync('type', res.data.data.type);          //wx.setStorageSync('telnum', res.data.data.mobile);          //let pages = getCurrentPages(); // 当前页的数据,          //let prevPage = pages[pages.length - 3]; // 上上页的数据          //console.log(pages);          //prevPage.setData({            //token: res.data.data.token,            //type: res.data.data.type,            //telnum: res.data.data.mobile          //})          //wx.navigateBack({            //delta: 2          //})        } else {          wx.showToast({            title: res.data.msg, // 未成功原因            icon: "none",            duration: 2000          })        }      })    } else if (!this.data.teltrue) {      wx.showToast({        title: "请填写正确的手机号!",        icon: "none",        duration: 2000      })    } else {      wx.showToast({        title: "请填写验证码!",        icon: "none",        duration: 2000      })    }  },  })

css:(less)

@fontcolor:#353535;@red:#ff2b0a;.dltel{   position: relative;  width: 100%;  height: 100vh;  padding:0 40rpx;  box-sizing: border-box;  .teltit{    font-size: 50rpx;    color: @fontcolor;    line-height: 90rpx;    margin-top: 35rpx;    margin-left: 20rpx;  }  .inpbox{    position: relative;    width: 100%;    height: 100rpx;    line-height: 100rpx;    font-size: 28rpx;    color: @fontcolor;    display: flex;    flex-direction: row;    border-bottom: 1px solid #eee;    .dongtaima{          }    .inpbtn{      width: 430rpx;      height: 100%;      margin:0 30rpx;    }    .hui{      color: #888    }    .red{      color: @red;    }  }  .teldl{    position: relative;    width: 100%;    height: 94rpx;    border-radius: 15rpx;    line-height: 94rpx;    text-align: center;    font-size: 36rpx;    margin-top:60rpx;    color: #fff;    background: @red;  }  .tou50{    background:#ff9584;  }}

关于“微信小程序如何实现验证码倒计时效果”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“微信小程序如何实现验证码倒计时效果”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

微信小程序如何实现验证码倒计时效果

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

微信小程序如何实现验证码倒计时效果

这篇文章主要介绍了微信小程序如何实现验证码倒计时效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序如何实现验证码倒计时效果文章都会有所收获,下面我们一起来看看吧。如果写过js的倒计时,那么小程序中使用
2023-06-30

微信小程序如何实现短信验证码倒计时

这篇文章主要讲解了“微信小程序如何实现短信验证码倒计时”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序如何实现短信验证码倒计时”吧!初始效果当点击按钮时候设置禁止点击效果:如下图话不
2023-06-30

微信小程序如何实现倒计时

这篇文章主要介绍“微信小程序如何实现倒计时”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序如何实现倒计时”文章能帮助大家解决问题。直接上代码吧
2023-06-30

微信小程序获取验证码60秒倒计时功能

这篇文章主要介绍了微信小程序获取验证码60秒倒计时模板,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-17

小程序验证码倒计时如何获取

本篇内容介绍了“小程序验证码倒计时如何获取”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!.wxml

微信小程序如何实现简单倒计时功能

本篇内容介绍了“微信小程序如何实现简单倒计时功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!任务描述:计时器任务要求:案例描述:设计一个实
2023-06-30

Android实现点击获取验证码倒计时效果

我们在开发中经常用到倒计时的功能,比如发送验证码后,倒计时60s再进行验证码的获取,为了方便以后使用,这里做个记录,讲讲倒计时器的实现。 1、先进行倒计时工具类的封装 public class CountDownTimerUtils ex
2022-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录