当前位置: 首页 > news >正文

vue前端实现登录页面的验证码(新手版)

一、搭建vue前端登录页面

<template><div style="width: 800px; margin: 5px auto; background-color: #17ecf3"><div align="center"><h2>用户登录</h2></div><div style="width: 60%; margin: 1px auto"><el-form:model="ruleForm":rules="rules"ref="ruleForm"label-width="100px"class="demo-ruleForm"><el-form-item label="用户名称:" prop="userName"><el-input v-model="ruleForm.userName"></el-input></el-form-item><el-form-item label="密码:" prop="password"><el-input v-model="ruleForm.password" show-password></el-input></el-form-item><el-form-item label="验证码:" prop="code" align="left"><el-input v-model="ruleForm.code" style="width: 150px"></el-input><el-tag type="danger" style="font-size: 20px">{{ cCode }}</el-tag><el-link type="primary" @click="getCode">换一张</el-link></el-form-item><el-form-item><el-button type="primary" @click="userLogin('ruleForm')">登录</el-button><el-button @click="resetForm('ruleForm')">重置</el-button></el-form-item></el-form></div></div>
</template>

二、定义文本框输入验证码变量及生成验证码变量

data() {return {cCode: "",ruleForm: {userName: "",password: "",code: "",},};},

三、在method中写出生成验证码的方法

getCode() {this.cCode = "";let codeString ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";let codeArray = codeString.split("");let num = codeArray.length;let newCodeArray = [];for (let i = 0; i < 4; i++) {let index = Math.floor(Math.random() * num);newCodeArray.push(codeArray[index]);}this.cCode = newCodeArray.join("");},

四、钩子函数createed中执行上述方法

created() {this.getCode();},

五、更换验证码只需加入超链接控件,调用此方法即可

<el-link type="primary" @click="getCode">换一张</el-link>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 基于x86 平台opencv的图像采集和seetaface6的人脸跟踪功能
  • OpenAI推出新功能:GPT-4o正式上线微调功能,限时免费!
  • TinaSDKV2.0 自定义系统开发
  • C++动态规划(背包问题)
  • Kubernetes(k8s)中部署WordPress
  • 在 Java 中使用泛型时遇到的问题,,无法正确将响应数据映射为需要的数据
  • 【微信小程序】导入项目
  • SEO之网站结构优化(十三-网站地图)
  • Spring Cloud Alibaba
  • 正则表达式记录
  • 斯坦福大学cs231n (图像分类)
  • 所有可能的路径
  • 【Linux C++】log4cpp日志库的安装和使用详解
  • C++初学(16)
  • Windows系统上进行项目管理工具VisualSVN Server服务端的保姆级安装教程与配置和SVN客户端保姆级安装教程和使用
  • @jsonView过滤属性
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • go append函数以及写入
  • java小心机(3)| 浅析finalize()
  • laravel with 查询列表限制条数
  • Netty 4.1 源代码学习:线程模型
  • php面试题 汇集2
  • sessionStorage和localStorage
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • webpack入门学习手记(二)
  • Web设计流程优化:网页效果图设计新思路
  • 包装类对象
  • 关于Java中分层中遇到的一些问题
  • 技术胖1-4季视频复习— (看视频笔记)
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • ​​​【收录 Hello 算法】9.4 小结
  • ​插件化DPI在商用WIFI中的价值
  • ​水经微图Web1.5.0版即将上线
  • (12)Linux 常见的三种进程状态
  • (Charles)如何抓取手机http的报文
  • (四)汇编语言——简单程序
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • **CI中自动类加载的用法总结
  • .net core 6 redis操作类
  • .net core docker部署教程和细节问题
  • .NET的数据绑定
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • @Autowired多个相同类型bean装配问题
  • [ C++ ] STL---仿函数与priority_queue
  • [2010-8-30]
  • [20150321]索引空块的问题.txt
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution
  • [24年新算法]NRBO-XGBoost回归+交叉验证基于牛顿拉夫逊优化算法-XGBoost多变量回归预测
  • [⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记
  • [AIGC] 广度优先搜索(Breadth-First Search,BFS)详解
  • [bzoj1912]异象石(set)
  • [c]扫雷