javascript密码验证规则,数字、字母、特殊符号两种以上

在验证密码复杂的正则表达试中,几位码友有发布过从两种字符里选两种的,从三种字符里选有三种的。

今天我提一个从三种里选两种的。有喜欢的朋友拿去用。

密码须包含数字、字母、特殊符号两种以上,且不少于8位,不多于32位。

javascript 复制代码
        password: [
          { required: true, message: '请输入密码', trigger: 'blur' },
          { pattern: /^((?=.*[A-Za-z])(?=.*\d)|(?=.*[A-Za-z])(?=.*[!@#$%^&*()_+\-\=])|(?=.*\d)(?=.*[!@#$%^&*()_+\-\=]))[A-Za-z\d!@#$%^&*()_+\-\=]{8,31}$/, 
            message: '密码须包含数字、字母、特殊符号两种以上,且不少于8位', trigger: 'blur' }
        ]

我验证了一下,大概是对的,如果不对,私我哈。

把正则表达式拆分一下:

开头:/^

由字母和数字组成:((?=.*[A-Za-z])(?=.*\d)

或由字母和符号组成:|(?=.*[A-Za-z])(?=.*[!@#$%^&*()_+\-\=])

或由数字和符号组成:|(?=.*\d)(?=.*[!@#$%^&*()_+\-\=]))

字母、数字、符号不少于8位,不少于32位:[A-Za-z\d!@#$%^&*()_+\-\=]{8,31}

结束:$/

相关推荐
前端一课14 小时前
【vue高频面试题】第 21 题:Vue3 中的 Slot(插槽)— 基础、原理、使用场景、面试必问点
前端·面试
前端一课14 小时前
第 24 题:Vue3 的组件通信方式(props / emit / v-model / provide-inject / expose / eventBus
前端·面试
前端一课14 小时前
第 22 题:Teleport 的作用、原理和使用场景
前端·面试
前端一课14 小时前
第 29 题:Vue3 的 Teleport 原理(跨层级 DOM 挂载技术)
前端·面试
国服第二切图仔14 小时前
Electron for鸿蒙pc项目实战之下拉菜单组件
javascript·electron·harmonyos·鸿蒙pc
前端一课14 小时前
第 31 题:Vue3 中 watchEffect 的原理(依赖自动追踪 + 清理机制 + ReactiveEffect 全流程)
前端·面试
前端一课14 小时前
第 256 题:Vue3 的异步组件(defineAsyncComponent)+ Suspense 原理与面试高频点
前端·面试
前端一课14 小时前
第 27 题:Vue3 + TS 类型推断(Props 类型推导、Emit 类型推导、Setup 返回值类型)
前端·面试
国服第二切图仔14 小时前
electron for 鸿蒙PC项目实战之loading-animation组件
javascript·electron·鸿蒙pc
软件技术NINI14 小时前
html css js网页制作成品——敖瑞鹏html+css+js 4页附源码
javascript·css·html