微信公众号开发

微信小程序---实现输入手机验证码功能

本文主要是介绍微信小程序---实现输入手机验证码功能,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

*** html部分

<view class='container'>

  <view class='main-title' bindtap="test">

    输入短信验证码

  </view>

  <view class="sub-title">

    已向<text class="phone">139****9999</text>发送验证码

  </view>

  <view class="code-box" bindtap="getFocus">

    <view class="{{code.length==0?'active':'input-box'}}">{{code[0]}}</view>

    <view class="{{code.length==1?'active':'input-box'}}">{{code[1]}}</view>

    <view class="{{code.length==2?'active':'input-box'}}">{{code[2]}}</view>

    <view class="{{code.length==3?'active':'input-box'}}">{{code[3]}}</view>

    <view class="{{code.length==4?'active':'input-box'}}">{{code[4]}}</view>

    <view class="{{code.length==5?'active':'input-box'}}">{{code[5]}}</view>

  </view>

  <input bindinput="getCode"  class="input-number" type="number" focus="{{isFocus}}" maxlength="6" />

  <view class="time-box">

    <view class="regain" hover-class="btn-hover" wx:if="{{isRegain}}" bindtap="regain">重新获取验证码</view>

    <view class="regain-info" wx:else>

      <text class="time">{{time}}</text>后可重新获取短信

    </view>

  </view>

 *** css部分

page{

  width: 100%;

  height: 100%;

  overflow: hidden;

}

.container{

  padding-top: 260rpx;

  width: 100%;

  height: 100%;

  background-color: #fafafa;

}

.container .main-title{

  font-size: 40rpx;

  color: #333;

  text-align: center;

  font-weight: bold;

  margin-bottom: 20rpx;

}

.container .sub-title{

  font-size: 30rpx;

  color: #666;

  text-align: center;  

}

.container .sub-title .phone{

  font-size: 30rpx;

  color: #333;

  font-weight: bold;

}

.container .code-box{

  width: 510rpx;

  height: 80rpx;

  margin-left: auto;

  margin-right: auto;

  display: flex;

  justify-content: space-between;

  margin-top: 80rpx;

}

.container .code-box .input-box{

  height: 80rpx;

  width: 72rpx;

  box-sizing: border-box;

  border: solid 1rpx #d7d7d7;

  text-align: center;

  line-height: 80rpx;

  color: #333;

  font-size: 34rpx;

}

.container .code-box .active{

  height: 80rpx;

  width: 72rpx;

  box-sizing: border-box;

  border: solid 1rpx #d7d7d7;

  text-align: center;

  line-height: 80rpx;

  color: #333;

  font-size: 34rpx;

  border-color: #3399cc;

.container .input-number{

  opacity: 0;

  position: absolute;

  z-index: -1;

  height: 0rpx;

  width: 0rpx;

}

.container .time-box{

  margin-top: 150rpx;

  text-align: center;

  font-size: 30rpx;

}

.container .time-box .regain{

  color: #3399cc;  

}

.container .time-box .regain-info{

  color: #b5b5b5;

}

*** js部分

data: {

    isFocus:true,

    code: "",

    isRegain:false,

    timer:null,

    time:20,

  },

   /* 生命周期函数--监听页面加载 */

  onLoad: function (options) {

    this.countdown();

  },

  regain(){

    this.setData({

      isRegain: false,

    });  

    this.countdown();  

  },

  getFocus(){

    this.setData({

      isFocus: true,

    });

  },

  getCode(e){

    console.log(e)

    this.setData({

      code: e.detail.value

    });

  },

  countdown(){

    var currentTime = this.data.time

    let timer=setInterval(()=>{

      currentTime--;

      this.setData({

        time: currentTime

      })

      if (currentTime <= 0) {

        clearInterval(timer)

        this.setData({

          time: 20,

          isRegain:true,

        })

      }      

    },1000)

  },

})

这篇关于微信小程序---实现输入手机验证码功能的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!