vue实现短信验证码输入框

本文实例为大家分享了vue实现短信验证码输入框的具体代码,供大家参考,具体内容如下

先上最终效果 (此处代码显示的是短信验证码框的效果   其余部分并未放上去)

html

<div class="code">

<input id="first" class="inputStyle" v-model="code[0]"

style="border-top-left-radius: 12px;

border-bottom-left-radius: 12px;"

type="text"/>

<input id="second" class="inputStyle" v-model="code[1]"style="border-left:1px solid #c6c6c6;" type="text"/>

<input id="third" class="inputStyle" v-model="code[2]"style="border-left:1px solid #c6c6c6;" type="text"/>

<input id="forth" class="inputStyle" v-model="code[3]" style="border-left:1px solid #c6c6c6;" type="text"/>

<input id="fifth"class="inputStyle" v-model="code[4]"

style="border-top-right-radius: 12px;

border-bottom-right-radius: 12px;

border-left:1px solid #c6c6c6;"

maxlength="1"

type="text"/>

</div>

js

data (){

return {

smsCode:'',

code:new Array(5),

codeId:['first','second','third','forth','fifth']

}

},

watch:{

code:function(newValue,oldValue){

console.log('newValue.length'+newValue.length)

let tempValue=''

for(let i=0;i<newValue.length;i++){

if(i==5){

console.log(i)

break

}

if(newValue[i]){

tempValue=tempValue+newValue[i]

}

}

this.smsCode=tempValue

console.log('smsCode '+this.smsCode)

let m=tempValue.split("")

let location=0

for(let i=0;i<newValue.length;i++){

if(m[i]&&i<5){

location++

newValue[i]=m[i]

}else{

newValue[i]=''

}

}

// console.log(this.codeId[i])

if(location<1){

location=1

}else if(location>5){

location=5

}

document.getElementById(this.codeId[location-1]).focus()

}

},

CSS

.inputStyle{

width:20%;

height:100%;

text-align:center;

border:none;

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是 vue实现短信验证码输入框 的全部内容, 来源链接: utcz.com/p/237203.html

回到顶部