Vue前端实现6位验证码输入框效果

Vue前端实现6位验证码输入框效果效果图片源代码1.template代码2.script代码3.style部分(less语言)这是一个输入六位验证码的弹窗,在输入一位数字可以自动跳到下一个输入框,和删除当前输入框的内容后聚焦到上一个输入框,并且输满六位验证码后调接口验证验证码是否正确.先看看效果:效果图片源代码1.template代码<template> <di...
摘要由CSDN通过智能技术生成


这是一个输入六位验证码的弹窗,在输入一位数字可以自动跳到下一个输入框,和删除当前输入框的内容后聚焦到上一个输入框,并且输满六位验证码后调接口验证验证码是否正确.
今天想简单分享一下,当然也有参考过一些大神的代码,最后才实现了这样的效果,如果有错误还请多指教

先看看效果:

效果图片

在这里插入图片描述
在这里插入图片描述

源代码

1.template代码

<template>
  <div class="container">
    <div class="modal-backdrop"  v-show="isModalVisible"    @click="closeBackground"  >
      <div class="modal" @click.stop>
      <div class="font1">获取验证码</div>
      <div class="font2">验证码已发送至(+86{
   {
   telephone}}</div>
      <div class="code-input-main" >
    <input 
        pattern="\d*"
        class="code-input-main-item" 
        id="phoneCode1" 
        v-model="phoneCode0" 
        oninput="value=value.length>1?value.substr(0,1):value;"  
        maxlength="1" 
        type="number"/><input 
        pattern="\d*"
        class="code-input-main-item" 
        id="phoneCode2"
        v-model="phoneCode1"  
        oninput="value=value.length>1?value.substr(0,1):value;"  
        maxlength="1" 
        type="number"/><input 
        pattern="\d*"
        class="code-input-main-item" 
        id="phoneCode3" 
        v-model="phoneCode2" 
        oninput="value=value.length>1?value.substr(0,1):value;"  
        maxlength="1" 
        type="number"/><input 
        pattern="\d*"
        class="code-input-main-item" 
        id="phoneCode4" 
        v-model="phoneCode3"  
        oninput="value=value.length>1?value.substr(0,1):value;"  
        maxlength="1" 
        type="number"/><input 
        pattern="\d*"
        class="code-input-main-item" 
        id="phoneCode5" 
        v-model="phoneCode4" 
        oninput="value=value.length>1?value.substr(0,1):value;"  
        maxlength="1" 
        type="number"/><input 
        pattern
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue前端登陆界面验证码可以通过以下步骤实现: 1. 在后端实现生成验证码的接口,并返回验证码图片的base64编码。 2. 在前端利用Vue组件的方式,使用canvas绘制验证码图片。 3. 在用户输入验证码输入框中添加校验逻辑,通过与后端返回的验证码进行比对来进行校验。 以下是一个基本的实现示例: ```vue <template> <div> <canvas ref="canvas" width="100" height="40" @click="refreshCode"></canvas> <input type="text" v-model="codeInput" placeholder="请输入验证码"> <button @click="submit">提交</button> </div> </template> <script> import axios from 'axios' export default { data() { return { codeInput: '', codeImg: '' } }, mounted() { this.refreshCode() }, methods: { refreshCode() { axios.get('/api/getCode').then(res => { this.codeImg = res.data.codeImg this.drawCode() }) }, drawCode() { let canvas = this.$refs.canvas let ctx = canvas.getContext('2d') let img = new Image() img.onload = () => { ctx.drawImage(img, 0, 0) } img.src = this.codeImg }, submit() { axios.post('/api/login', { codeInput: this.codeInput }).then(res => { if (res.data.success) { // 登陆成功 } else { this.refreshCode() } }) } } } </script> ``` 在上述代码中,refreshCode方法会向后端发送请求获取验证码图片的base64编码,并将其赋值给codeImg变量。drawCode方法则通过canvas绘制出验证码图片。 当用户输入验证码后,点击提交按钮,会向后端发送login请求,携带验证码输入框中的值。后端可以根据验证码的值进行校验,如果校验成功则返回success=true,否则返回success=false,同时返回新的验证码图片的base64编码,供前端更新验证码图片。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值