首页 > 其他分享 >【前端】表单密码格式—校验。

【前端】表单密码格式—校验。

时间:2024-07-17 15:57:40浏览次数:8  
标签:newPassword 校验 表单 callback form1 yz 格式 passwordPercent

如图:实现表单输入密码和确认密码的时候进行表单校验。

实现方式:

1.在代码的data里面定义,函数验证的方法。如图所示,代码如下

【代码】如下:

 const validatePassword = (rule, value, callback) => {
      if (value === '') {
        callback(new Error('请输入密码'));
      } else {
        let yz = 0;
        this.passwordPercent = 0;
        //6-20位包含字符、数字和特殊字符
        if (this.form1.newPassword.length < 11) {
          callback(new Error("长度在 11 到 20 个字符"));
        }
        if (this.form1.newPassword.match(/([a-z])+/)) {
          yz++;
        }
        if (this.form1.newPassword.match(/([0-9])+/)) {
          yz++;
        }
        if (this.form1.newPassword.match(/([A-Z])+/)) {
          yz++;

        }
        if (this.form1.newPassword.match(/([\W_])+/)) {
          yz++;
        }
        if (yz < 2) {
          callback(new Error("密码必须是大小写字母、数字、特殊符号两种及以上组成"));
        }
        switch (yz) {
          case 0: this.passwordPercent = 0; callback();
          case 1: this.passwordPercent = 25; callback();
          case 2: this.passwordPercent = 50; callback();
          case 3: this.passwordPercent = 75; callback();
          case 4: this.passwordPercent = 100; callback();
        }
      }
    };
    const equalToPassword = (rule, value, callback) => {
      if (this.form1.newPassword !== value) {
        callback(new Error("两次输入的密码不一致"));
      } else {
        callback();
      }
    };

2.设置表单校验的rule。 rule在return函数里面。名称可以自己定义。作为变量使用。

rules1: {
        selectApps: [{ required: true, message: "请选择应用系统", trigger: "blur" }],
        newPassword: [
          { required: true, message: "新密码不能为空", trigger: "blur" },
          { min: 8, max: 20, validator: validatePassword, trigger: "blur" }
        ],
        confirmPassword: [
          { required: true, message: "确认密码不能为空", trigger: "blur" },
          { required: true, validator: equalToPassword, trigger: "blur" }
        ]
      },

3.给表单添加rule。 则表单输入会按照规则进行校验。:rules="rules1"

rules1就是步骤二定义的规则

 <el-form ref="form1" :model="form1" :rules="rules1" label-width="100px" v-if="radio == 1">
 </el-form>

标签:newPassword,校验,表单,callback,form1,yz,格式,passwordPercent
From: https://blog.csdn.net/liu13722785488/article/details/140497556

相关文章

  • 多种模块格式,包括 ES, CommonJS, UMD, AMD, SystemJS 和 IIFE的区别点分别是什么
    【转】https://zhuanlan.zhihu.com/p/668530823以下是各种模块格式的主要特点:ESModules(ESM):这是ECMAScript6(ES6)引入的官方标准格式。它支持导入和导出语句,以及静态分析和tree-shaking。它是唯一的静态模块系统,意味着你可以在编译时确定导入和导出的内容。CommonJS(C......
  • 证书私钥公钥PEM格式解析
    PEM格式PEM,即PrivacyEnhancedMail,直译为保密邮件,是一种数字证书、私钥、公钥等的文本表示格式。想对应的,DER,即DistinguishedEncodingRules,可分辨编码规则,是一种是一种数字证书、私钥、公钥等二进制表示格式。PEM包含DER格式内容,也可以说是证书/私钥/公钥DER格式的按Bas64编......
  • 移动硬盘提示未格式化维修数据恢复
    当移动硬盘提示未格式化时,通常意味着操作系统无法正确识别或访问硬盘上的文件系统。这可能是由于多种原因引起的,包括文件系统损坏、硬盘物理损坏、分区表错误等。一、原因分析文件系统损坏:文件系统是硬盘上组织和存储数据的关键结构,如果受到病毒攻击、非法操作或系统崩溃等因素......
  • 硬盘数据恢复不认异响摔伤开盘恢复误删除格式化
    硬盘数据恢复是一个复杂且需要专业技术的过程,涉及到多种情况和不同的恢复方法。一、硬盘不认盘原因:硬盘不认盘可能是由于硬件故障、连接问题或系统识别错误等原因导致。解决方法:检查硬盘与电脑之间的连接是否稳固,包括数据线和电源线。尝试将硬盘连接到另一台电脑上,看是否能被......
  • 移动硬盘删除格式化后还能恢复出来吗
    移动硬盘删除格式化后,在一定条件下,数据是有可能恢复出来的。一、数据恢复的可能性格式化方式:格式化分为快速格式化和完全格式化。快速格式化只是删除文件系统的索引,数据本身并未被完全清除,因此恢复的可能性较大。而完全格式化则会尝试清除硬盘上的所有数据,恢复难度相对较大。新......
  • uniapp [全端兼容] - 详细实现用户电子签名 “逐字校验“ 将姓名按字拆开分别手写签署
    前言如果您需要“合同专用”签字板及展示,请访问这篇文章。在uni-app全平台兼容(H5网页网站、支付宝/微信小程序、安卓App、苹果App、nvue)项目开发中,详解完成用户进行电子签名时,将其姓名进行拆分为独立的汉字,并由系统自动生成渲染对应的单个汉字文字的签名和验证笔画......
  • 非Controller控制层参数校验怎么办
    参数校验背景通常在SpringBoot中,参数校验是在Controller控制层完成的。文章探讨了在非Controller控制层进行参数校验的方法。Validator接口Spring提供了JSR-303的一个变种@Validated。Validator接口定义了用于执行验证的方法,主要方法包括:validate(Tobject,Cla......
  • h5 form表单
    表单元素:表单标签、表单域、表单按钮(submit)文本框:文本域通过<inputtype="text">来设定密码框:通过<inputtype="password">来设定,不会显示文本,用星号或圆点代替......
  • E9-控制移动建模应用页面中的提交按钮根据日期条件校验是否可提交
    背景在移动建模页面中提交表单时,有时需要根据表单上的日期字段校验是否满足提交条件,如果满足则可提交,如果不满足则不可提交本期以报餐管理场景为例:实现控制用户只能在指定的时间范围内提交报餐数据实现效果1、若当前时间不在指定的时间范围内,则提交失败;2、若当前时间在指......
  • 自己实现sprintf功能,用于把三个float转换成字符串格式,速度比sprintf快了20倍
     float转字符串使用sprintf太慢了,自己实现sprintf功能,用于把三个float转换成字符串格式,速度比sprintf快了20倍!运行结果如下图:例程:#include<stdio.h>#include<string.h>#include<stdlib.h>#include<time.h>#defineRUN_COUNT10000000//运行次数/*实现sprin......