Products
GG网络技术分享 2025-03-18 16:15 3
三个关于密码的正则表达式,
8-32个字符,至少2种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&+.)
10-32个字符,至少3种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&+.)
12-32个字符,至少4种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&*+.)
已通过在线测试,先上结果,后有分解说明:
说明:以下解释的是3的,1 、2和3可以类比,比如1的排除仅包含一种的就可以了,2 的排除包含一种和二种的就可以了
1)^匹配开头
2)(?![\\w]+$)匹配后面不全是(大写字母或小写字母或数字)的位置,排除了(大写字母、小写字母、数字)的1种2种3种组合
3)(?![a-z0-9-!@#$^&+.]+$)排除了(小写字母、数字、特殊符号)的1种2种3种组合
4)(?![A-Za-z-!@#$^&+.]+$)排除了(大写字母、小写字母、特殊符号)的1种2种3种组合
5)(?![A-Z0-9-!@#$^&+.]+$)排除了(大写字母、数组、特殊符号)的1种2种3种组合
6)[a-zA-Z0-9-!@#$^&+.]匹配(小写字母或大写字母或数字或特殊符号)因为排除了上面的组合,所以就只剩下了4种都包含的组合了
7){12,32}8位以上
8)$匹配字符串结尾
^(?![\\d]+$)(?![a-zA-Z]+$)(?![!#$%^&*]+$)[\\da-zA-Z-!@#$^&+.]{8,32}$或者
/(?!.*\\s)(?!^[\\u4e00-\\u9fa5]+$)(?!^[0-9]+$)(?!^[A-z]+$)(?!^[^A-z0-9]+$)[\\da-zA-Z-!@#$^&+.]{8,32}$/
/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z,.:;,。?''"";;‘’“”·、_~!@#$^&*()<>{}【】|?\\/+=-]+$)(?![a-z0-9]+$)(?![a-z,.:;,。?''"";;‘’“”_~!@#$^&*()<>{}【】|?/+=-]+$)(?![0-9,.:;,。?''"";;‘’“”_~!@#$^&*()<>{}【】|?/+=-]+$)[\\da-zA-Z-!@#$^&+.]{10,32}$/
3.
^(?![A-Za-z0-9]+$)(?![a-z0-9\\\\W]+$)(?![A-Za-z\\\\W]+$)(?![A-Z0-9\\\\W]+$)[\\da-zA-Z-!@#$^&+.]{12,32}$
2.
^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\\\W_-!@#$^&+.]+$)(?![a-z0-9]+$)(?![a-z\\\\W_-!@#$^&+.]+$)(?![0-9\\\\W_-!@#$^&+.]+$)[a-zA-Z0-9\\\\W_-!@#$^&+.]{10,32}$
3、
/^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[-!@#$^&+.]).{12,32}$/
8-32个字符,至少2种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&+.)
^(?![\\d]+$)(?![a-zA-Z]+$)(?![!#$%^&*]+$)[\\da-zA-Z-!@#$^&+.]{8,32}$
10-32个字符,至少3种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&+.)
^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\\\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\\\\W_!@#$%^&*`~()-+=]+$)(?![0-9\\\\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\\\\W_!@#$%^&*`~()-+=]{10,32}$
12-32个字符,至少4种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&*+.)
^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~@#$%\\*-\\+=:,\\\\?\\[\\]\\{}]).{12,32}$
这里有一篇关于正则表达式的文章,内容正好符合楼主要求,建议楼主学习一下,毕竟只知道结果不知道过程也不是什么好事:
https://wenku.baidu.com/view/e3d352f51a5f312b3169a45177232f60ddcce7a2.html
^(?![\\d]+$)(?![a-z]+$)(?![A-Z]+$)(?![!#$%^&*]+$)[\\da-zA-Z-!@#$^&+.]{8,32}$
解析:
测试:
^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z-!@#$^&+.]+$)(?![a-z0-9]+$)(?![a-z-!@#$^&+.]+$)(?![0-9-!@#$^&+.]+$)[a-zA-Z0-9-!@#$^&+.]{10,32}
解析:
测试:
^(?![a-zA-Z0-9]+$)(?![a-zA-Z-!@#$^&*+.]+$)(?![a-z0-9-!@#$^&*+.]+$)(?![0-9A-Z-!@#$^&*+.]+$)[a-zA-Z0-9-!@#$^&*+.]{12,32}
解析:
测试:
补充 @胡金 的答案:方括号中的 '[', ']', '^', '\\' 注意转义。
Demand feedback