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}

结束:$/

相关推荐
数据知道4 小时前
claw-code 源码详细分析:Bootstrap Graph——启动阶段图式化之后,排障与扩展为什么会变简单?
前端·算法·ai·bootstrap·claude code·claw code
悟空瞎说4 小时前
深度解析:Vue3 为何弃用 defineProperty,Proxy 到底强在哪里?
前端·javascript
leafyyuki5 小时前
告别 Vuex 的繁琐!Pinia 如何以更优雅的方式重塑 Vue 状态管理
前端·javascript·vue.js
Amos_Web5 小时前
Solana开发(1)- 核心概念扫盲篇&&扫雷篇
前端·rust·区块链
沐知全栈开发5 小时前
《jEasyUI 格式化列》
开发语言
Hooray5 小时前
AI 时代的管理后台框架,应该是什么样子?
前端·vue.js·ai编程
ZC跨境爬虫5 小时前
极验滑动验证码自动化实战(ddddocr免费方案):本地缺口识别与Playwright滑动模拟
前端·爬虫·python·自动化
0xDevNull5 小时前
JDK 25 新特性概览与实战教程
java·开发语言·后端
某人辛木5 小时前
nodejs下载安装
开发语言·前端·javascript
笨笨饿5 小时前
34_数据结构_栈
c语言·开发语言·数据结构·人工智能·嵌入式硬件·算法