关于密码的正则表达式
问题描述:
问题遇到的现象和发生背景
三个关于密码的正则表达式,
8-32个字符,至少2种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&+.)
10-32个字符,至少3种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&+.)
12-32个字符,至少4种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&*+.)
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
网友观点:
已通过在线测试,先上结果,后有分解说明:
- 8-32个字符,至少2种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&+.)
^(?![A-Z]+$)(?![a-z]+$)(?![0-9]+$)(?![-!@#$^&+.]+$)[\\w-!@#$^&+.]{8,32}$ - 10-32个字符,至少3种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&+.)
^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z-!@#$^&+.]+$)(?![a-z0-9]+$)(?![a-z-!@#$^&+.]+$)(?![0-9-!@#$^&+.]+$)[\\w-!@#$^&+.]{10,32}$ - 12-32个字符,至少4种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&*+.)
^(?![\\w]+$)(?![a-z0-9-!@#$^&+.]+$)(?![A-Za-z-!@#$^&+.]+$)(?![A-Z0-9-!@#$^&+.]+$)[\\w-!@#$^&+.]{12,32}$
说明:以下解释的是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)$匹配字符串结尾
1 2 3 4 |
^(<span>?!</span>[\\d]+<span>$)</span>(<span>?!</span>[a-zA-Z]+<span>$)</span>(<span>?!</span>[!<span>#$%^&*]+$)[\\da-zA-Z-!@#$^&+.]{8,32}$</span> 或者 /(<span>?!</span>.*\\s)(<span>?!</span>^[\\u4e00-\\u9fa5]+<span>$)</span>(<span>?!</span>^[<span>0</span>-<span>9</span>]+<span>$)</span>(<span>?!</span>^[A-z]+<span>$)</span>(<span>?!</span>^[^A-z0-<span>9</span>]+<span>$)</span>[\\da-zA-Z-!@<span>#$^&+.]{8,32}$/</span> |
1 2 3 |
/^(?![a-zA-Z]+$)(?![A-Z0<span>-9</span>]+$)(?![A-Z,.:;,。?<span>''</span><span>""</span>;;‘’“”·、_~!@#$^&*()<>{}【】|?\\/+=-]+$)(?![a-z0<span>-9</span>]+$)(?![a-z,.:;,。?<span>''</span><span>""</span>;;‘’“”_~!@#$^&*()<>{}【】|?/+=-]+$)(?![<span>0</span><span>-9</span>,.:;,。?<span>''</span><span>""</span>;;‘’“”_~!@#$^&*()<>{}【】|?/+=-]+$)[\\da-zA-Z-!@#$^&+.]{<!-- --><span>10</span>,<span>32</span>}$/ |
3.
1 2 3 |
^(<span>?!</span>[A-Za-z0-<span>9</span>]+<span>$)</span>(<span>?!</span>[a-z0-<span>9</span>\\\\W]+<span>$)</span>(<span>?!</span>[A-Za-z\\\\W]+<span>$)</span>(<span>?!</span>[A-Z0-<span>9</span>\\\\W]+<span>$)</span>[\\da-zA-Z-!@<span>#$^&+.]{12,32}$</span> |
2.
1 2 3 4 |
^(?![a-zA-Z]+$)(?![A-Z0<span>-9</span>]+$)(?![A-Z\\\\W_-!@#$^&+.]+$)(?![a-z0<span>-9</span>]+$)(?![a-z\\\\W_-!@#$^&+.]+$)(?![<span>0</span><span>-9</span>\\\\W_-!@#$^&+.]+$)[a-zA-Z0<span>-9</span>\\\\W_-!@#$^&+.]{<!-- --><span>10</span>,<span>32</span>}$ |
3、
1 2 3 |
/^(<span>?=</span>.*\\d)(<span>?=</span>.*[a-z])(<span>?=</span>.*[A-Z])(<span>?=</span>.*[-!@<span>#$^&+.]).{12,32}$/</span> |
8-32个字符,至少2种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&+.)
1 2 3 |
^(<span>?!</span>[\\d]+<span>$)</span>(<span>?!</span>[a-zA-Z]+<span>$)</span>(<span>?!</span>[!<span>#$%^&*]+$)[\\da-zA-Z-!@#$^&+.]{8,32}$</span> |
10-32个字符,至少3种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&+.)
1 2 3 |
^(?![a-zA-Z]+<span>$</span>)(?![A-Z0<span>-9</span>]+<span>$</span>)(?![A-Z\\\\W_!@#<span>$</span>%^&*`~()-+=]+<span>$</span>)(?![a-z0<span>-9</span>]+<span>$</span>)(?![a-z\\\\W_!@#<span>$</span>%^&*`~()-+=]+<span>$</span>)(?![<span>0</span><span>-9</span>\\\\W_!@#<span>$</span>%^&*`~()-+=]+<span>$</span>)[a-zA-Z0<span>-9</span>\\\\W_!@#<span>$</span>%^&*`~()-+=]{<!-- --><span>10</span>,<span>32</span>}<span>$</span> |
12-32个字符,至少4种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&*+.)
1 2 3 4 |
^(<span>?=</span>.*\\d)(<span>?=</span>.*[a-z])(<span>?=</span>.*[A-Z])(<span>?=</span>.*[~@<span>#$%\\*-\\+=:,\\\\?\\[\\]\\{}]).{12,32}$</span> |
这里有一篇关于正则表达式的文章,内容正好符合楼主要求,建议楼主学习一下,毕竟只知道结果不知道过程也不是什么好事:
https://wenku.baidu.com/view/e3d352f51a5f312b3169a45177232f60ddcce7a2.html
密码正则表达式_LZ_玉米的博客-CSDN博客_密码正则表达式
常用密码正则表达式必须包含一个大写,一个小写字母,且长度为8到16位^(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9~!@&%#_]{8,16}$必须包含一个大写,一个小写字母,一个特殊字符,且长度为8到16位^(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@&%#_])[a-zA-Z0-9~!@&%#_]{8,16}$...
https://blog.csdn.net/qq_39375778/article/details/90769217
第一问:8-32个字符,至少2种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&+.)
1 2 |
^(<span>?!</span>[\\d]+<span>$)</span>(<span>?!</span>[a-z]+<span>$)</span>(<span>?!</span>[A-Z]+<span>$)</span>(<span>?!</span>[!<span>#$%^&*]+$)[\\da-zA-Z-!@#$^&+.]{8,32}$</span> |
解析:
测试:
第二问:10-32个字符,至少3种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&+.)
1 2 3 |
^(?![a-zA-Z]+$)(?![A-Z0<span>-9</span>]+$)(?![A-Z-!@#$^&+.]+$)(?![a-z0<span>-9</span>]+$)(?![a-z-!@#$^&+.]+$)(?![<span>0</span><span>-9</span>-!@#$^&+.]+$)[a-zA-Z0<span>-9</span>-!@#$^&+.]{<!-- --><span>10</span>,<span>32</span>} |
解析:
测试:
第三问:12-32个字符,至少4种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&*+.)
1 2 3 |
^(?![a-zA-Z0<span>-9</span>]+$)(?![a-zA-Z-!@#$^&*+.]+$)(?![a-z0<span>-9</span>-!@#$^&*+.]+$)(?![<span>0</span><span>-9</span>A-Z-!@#$^&*+.]+$)[a-zA-Z0<span>-9</span>-!@#$^&*+.]{<!-- --><span>12</span>,<span>32</span>} |
解析:
测试:
怎么写一个匹配用户密码的 JS 正则表达式?
补充 @胡金 的答案:方括号中的 '[', ']', '^', '\\' 注意转义。
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » 关于密码的正则表达式