login登录密码验证html vue

该代码段展示了在Vue.js中进行密码验证的过程,包括使用正则表达式检查新密码是否包含数字、字母和特殊字符,且长度在9-30位之间。当用户在input事件中输入新密码时,会实时进行这些验证并显示错误信息。
摘要由CSDN通过智能技术生成

login登录密码验证

<el-row>
    <el-col>新密码</el-col>
    <el-col :span="12"><el-input type="password" size="mini" v-model="newPassword" @input="inputNewPassWord"></el-input></el-col>
</el-row>
<div>{{newPasswordErr}}</div>
methods:{
    inputNewPassWord() {
            
            var regex = new RegExp('(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{9,30}');
            //&& this.newPassword表示判断密码是否为空
            if(!regex.test(this.newPassword) && this.newPassword) {
                this.validatePWd(this.newPassword);
            }else {
                this.newPasswordErr = ''
            }
        },
    // 密码提交验证
    validatePWd(newPassword) {
            if(!newPassword.match(/[0-9]/g)) {
                this.newPasswordErr = '密码应包含数字'
                return false
            }
            else if(!newPassword.match(/[a-zA-Z]/g)) {
                this.newPasswordErr = '密码应包含字母'
                return false
            } 
            else if(!newPassword.match(/[~#@^%&!*]/g)) {
                this.newPasswordErr = '密码应包含特殊字符'
                return false
            } else if(!newPassword.match('(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{9,30}')){
                this.newPasswordErr = '密码应包涵字母、数字、特殊字符9-30位'
                return false
            }else {
                this.newPasswordErr = ''
            }
            return true
        },      
}

涉及的知识点:

@input

1.@input 一般用于监听事件

只要输入的值变化了就会触发input

JavaScript match() 方法

定义和用法

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。

语法

stringObject.match(searchvalue)
stringObject.match(regexp)
参数描述
searchvalue必需。规定要检索的字符串值。
regexp必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。

返回值

存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值