一、在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校验密码的三种写法相关推荐

  1. vue中template的三种写法

    第一种(字符串模板写法):直接写在vue构造器里,这种写法比较直观,适用于html代码不多的场景,但是如果模板里html代码太多,不便于维护,不建议这么写. 第二种:直接写在template标签里,这 ...

  2. Vue的props的三种写法

    写法一: props:['data','isShow'] 写法二: props:{data: Object,isShow: Boolean } 写法三: props:{data:{require: t ...

  3. vue单文件props写法_详解Vue 单文件组件的三种写法

    详解Vue 单文件组件的三种写法 JS构造选项写法 export defaul { data, methods, ...} JS class写法 @Component export default c ...

  4. vue中,scss样式的三种写法——当前页面直接定义、@import引入样式、main.js引入公共样式 deep和important的写法

    vue中,scss样式的三种写法--当前页面直接定义.@import引入样式.main.js引入公共样式 & deep和important的写法 1.安装scss # 安装node-sass ...

  5. Vue——05-02组件的数据、为什么data要使用函数、父组件给子组件传递数据的三种写法、父传子以及传两种以上的值、默认值以及父传子的引用类型

    目录 在组件中获取数据 二.组件中的data为什么必须要是函数? 父组件给子组件传递数据--props属性 第一种写法: 第二种写法: 第三种写法: 传默认值 : 父组件传子组件数据--引用类型的两种 ...

  6. vue2.0模板的三种写法

    vue2.0中的模板有三种写法,根据不同的需求运用不同的方法来实现 1. <!DOCTYPE html> <html lang="en"> <head ...

  7. CSS伪类的三种写法

    今天逛蓝色时,无意发现了有人讨论伪类的正确写法,让我对伪类的认识也更清晰了,转贴于此,以备日后查询(原贴当时没记下地址,已经记不得了) Code <style> a.tb{text-dec ...

  8. Promise的链式调用三种写法,Promise.all与式调用

    Promise的链式调用三种写法: // 1,Promise原始链式调用 new Promise((resolve, reject) => {setTimeout(() => {conso ...

  9. android 闪屏页处理_Android应用闪屏页延迟跳转的三种写法

    闪屏页也称之为欢迎页.在打开一个App时,我们第一眼看到的往往是一个闪屏页面,之所以叫闪屏页,是因为它出现之后会短暂地停留几秒钟再跳转到其他页面.闪屏页除了使用户体验更好外,还能给app留出初始化数据 ...

最新文章

  1. 【怎样写代码】小技巧 -- 关于方法中修饰形参的关键词
  2. AI 盯上了外包司机,看后视镜就被扣分,奖金拜拜!
  3. 方舟原始恐惧mod生物代码_重磅!命令与征服和红色警戒源代码在GitHub公布了
  4. linux环境特性的文件夹,在Linux环境下如何消减可执行文件或者动态库的大小
  5. 面试官 | Nginx 是什么?有什么作用?
  6. Loopback for Mac(创建虚拟音频设备与音频编辑工具)
  7. 手机里的PDF文件太大如何变小?免费方法了解一下
  8. 电脑操作系统维护10条基础知识!
  9. [学习]JavaScript设计模式——Revealing Module(揭示模块)模式
  10. Windows XP SP3安装教程(图)
  11. vue通过子组件修改父组件prop的几种实现方式
  12. java工厂方法模式记录日志_java工厂方法模式
  13. Excel添加固定文本到开头的2种操作方法
  14. 前端——Form表单
  15. 基于django+html+flask的英语词汇量估算工具设计与实现 文档+项目源码
  16. Django CSRF(什么是CSRF?)\Django前后端分离csrf token获取方式
  17. c语言--n的k次方
  18. 一阶RC滤波器,数字滤波器
  19. 小用stm32f4-CAN控制器(使用库函数)
  20. 我和计算机的故事1000字作文,我和电脑的故事作文

热门文章

  1. linux查看进程grep工作组,Linux下查看一个进程打开了哪...-linux 如何找到进程的工作目录...-使用 grep 恢复误删的文本文件_169IT.COM...
  2. method.invoke()和invoke()简单理解
  3. ckfinder 2.3 破解
  4. vue脚手架的作用是什么?
  5. EventListener
  6. 嵌入页面拒绝了我们的连接请求
  7. 腾讯cos做文件服务器,将腾讯云COS对象存储挂载至腾讯云服务器实现大硬盘存储...
  8. 语义分割如何走下去?| 文末送书
  9. 【送书福利-第七期】《分布式中间件核心原理与RocketMQ最佳实践》
  10. matlab kml批量转为shp文件,arcpy实现 kml批量转出为shp