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}

结束:$/

相关推荐
不会算法的笨小孩13 小时前
异常的使用以及会出现的问题
开发语言·c++·c++11·异常
Penge66613 小时前
《Go 后端开发者学 TypeScript:typescript 类型断言》
javascript
Penge66613 小时前
《Go 后端开发者学 TypeScript:Symbol》
javascript
疯华整猫14 小时前
被杀掉之后:我把 Android 的「唤起 + 常驻」重做了一遍
前端·面试·架构
Hhy_110715 小时前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio
starzy199015 小时前
深入理解Scala函数定义:从方法到函数的类型跨越
开发语言·scala
starzy199015 小时前
深入理解Scala递归函数:从栈溢出到尾调用优化
开发语言·scala
三*一15 小时前
Mapbox‑GL JS 多边形折点编辑工具:实现原理、功能拆解与踩坑总结
开发语言·javascript·ecmascript
YSL07012416 小时前
C++基础
开发语言·c++
若亦_16 小时前
Java中关于this的三种用法
java·开发语言·intellij-idea