vue校验密码的三种写法
一、在el-form(element ui中的form表单)中使用:rules=“rules” 实现
1.在项目的src/utils文件夹下创建validate.js文件
validate.js文件中内容为:
/*** @param value* 测试密码是否满足条件,包括四种类型*/export function validPassword(value) {const num = /^.*[0-9]+.*/const low = /^.*[a-z]+.*/const up = /^.*[A-Z]+.*/const spe = /^.*[^a-zA-Z0-9]+.*/const passLength = value.length > 5 && value.length < 21return num.test(value) && low.test(value) && up.test(value) && spe.test(value) && passLength
}
2.在需要校验密码的vue文件内import引入validate.js中的validPassword函数
import { validPassword } from '@/utils/validate'
3.在需要校验密码的vue文件中的data定义校验函数,调用validPassword 函数
const validatePassword = (rule, value, callback) => {if (validPassword(value)) callback()else callback(new Error('密码6-20位,必须包含大写字母,小写字母,数字及特殊字符'))}
4.在需要校验密码的vue文件中的form表单中写:rules=“rules”
5.在rules中通过validator: validatePassword使用自定义校验规则
password: [{ required: true, trigger: "blur",validator: validatePassword},],
二、使用this.$prompt实现
/** 重置密码按钮操作 */handleResetPwd(row) {this.$prompt('请输入"' + row.userName + '"的新密码', "提示", {confirmButtonText: "确定",cancelButtonText: "取消",closeOnClickModal: false,inputPattern: /^.*(?=.{6,20})(?=.*\d)(?=.*[A-Z]{1,})(?=.*[a-z]{1,})(?=.*[!@#$%^&*?\(\)]).*$/,inputErrorMessage: "'密码6-20位,必须包含大写字母,小写字母,数字及特殊字符'",}).then(({ value }) => {resetUserPwd(row.userId, value).then(response => {this.msgSuccess("修改成功,新密码是:" + value);});}).catch(() => {});},
prompt() 弹出个输入框
三、a-input(ant-design-vue)中使用
前两步同一
<a-inputplaceholder="请输入新密码"type="password"v-decorator="['newPassword', {rules: [{required: true, message: '请输入新密码!'},{validator: validateToNextPassword,},]}]" />
validateToNextPassword (rule, value, callback) {if (validPassword(value)) callback()else callback(new Error('密码8-20位,必须包含大写字母,小写字母,数字及特殊字符'))}
vue校验密码的三种写法相关推荐
- vue中template的三种写法
第一种(字符串模板写法):直接写在vue构造器里,这种写法比较直观,适用于html代码不多的场景,但是如果模板里html代码太多,不便于维护,不建议这么写. 第二种:直接写在template标签里,这 ...
- Vue的props的三种写法
写法一: props:['data','isShow'] 写法二: props:{data: Object,isShow: Boolean } 写法三: props:{data:{require: t ...
- vue单文件props写法_详解Vue 单文件组件的三种写法
详解Vue 单文件组件的三种写法 JS构造选项写法 export defaul { data, methods, ...} JS class写法 @Component export default c ...
- vue中,scss样式的三种写法——当前页面直接定义、@import引入样式、main.js引入公共样式 deep和important的写法
vue中,scss样式的三种写法--当前页面直接定义.@import引入样式.main.js引入公共样式 & deep和important的写法 1.安装scss # 安装node-sass ...
- Vue——05-02组件的数据、为什么data要使用函数、父组件给子组件传递数据的三种写法、父传子以及传两种以上的值、默认值以及父传子的引用类型
目录 在组件中获取数据 二.组件中的data为什么必须要是函数? 父组件给子组件传递数据--props属性 第一种写法: 第二种写法: 第三种写法: 传默认值 : 父组件传子组件数据--引用类型的两种 ...
- vue2.0模板的三种写法
vue2.0中的模板有三种写法,根据不同的需求运用不同的方法来实现 1. <!DOCTYPE html> <html lang="en"> <head ...
- CSS伪类的三种写法
今天逛蓝色时,无意发现了有人讨论伪类的正确写法,让我对伪类的认识也更清晰了,转贴于此,以备日后查询(原贴当时没记下地址,已经记不得了) Code <style> a.tb{text-dec ...
- Promise的链式调用三种写法,Promise.all与式调用
Promise的链式调用三种写法: // 1,Promise原始链式调用 new Promise((resolve, reject) => {setTimeout(() => {conso ...
- android 闪屏页处理_Android应用闪屏页延迟跳转的三种写法
闪屏页也称之为欢迎页.在打开一个App时,我们第一眼看到的往往是一个闪屏页面,之所以叫闪屏页,是因为它出现之后会短暂地停留几秒钟再跳转到其他页面.闪屏页除了使用户体验更好外,还能给app留出初始化数据 ...
最新文章
- 【怎样写代码】小技巧 -- 关于方法中修饰形参的关键词
- AI 盯上了外包司机,看后视镜就被扣分,奖金拜拜!
- 方舟原始恐惧mod生物代码_重磅!命令与征服和红色警戒源代码在GitHub公布了
- linux环境特性的文件夹,在Linux环境下如何消减可执行文件或者动态库的大小
- 面试官 | Nginx 是什么?有什么作用?
- Loopback for Mac(创建虚拟音频设备与音频编辑工具)
- 手机里的PDF文件太大如何变小?免费方法了解一下
- 电脑操作系统维护10条基础知识!
- [学习]JavaScript设计模式——Revealing Module(揭示模块)模式
- Windows XP SP3安装教程(图)
- vue通过子组件修改父组件prop的几种实现方式
- java工厂方法模式记录日志_java工厂方法模式
- Excel添加固定文本到开头的2种操作方法
- 前端——Form表单
- 基于django+html+flask的英语词汇量估算工具设计与实现 文档+项目源码
- Django CSRF(什么是CSRF?)\Django前后端分离csrf token获取方式
- c语言--n的k次方
- 一阶RC滤波器,数字滤波器
- 小用stm32f4-CAN控制器(使用库函数)
- 我和计算机的故事1000字作文,我和电脑的故事作文
热门文章
- linux查看进程grep工作组,Linux下查看一个进程打开了哪...-linux 如何找到进程的工作目录...-使用 grep 恢复误删的文本文件_169IT.COM...
- method.invoke()和invoke()简单理解
- ckfinder 2.3 破解
- vue脚手架的作用是什么?
- EventListener
- 嵌入页面拒绝了我们的连接请求
- 腾讯cos做文件服务器,将腾讯云COS对象存储挂载至腾讯云服务器实现大硬盘存储...
- 语义分割如何走下去?| 文末送书
- 【送书福利-第七期】《分布式中间件核心原理与RocketMQ最佳实践》
- matlab kml批量转为shp文件,arcpy实现 kml批量转出为shp