【发布时间】:2015-07-14 21:22:07
【问题描述】:
标准
- 密码长度 >=8 和
- 一位数字 (0-9),一位字母(A-Z 或 a-z),一位特殊字符 (@#$*!)
我试过了
((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{8,15})
但这会同时检查一个小写和大写,但我需要一个。
【问题讨论】:
-
那么
((?=.*\d)(?=.*[a-zA-Z])(?=.*[@#$%]).{8,15})呢? -
@xanatos 如果一个清楚地表明努力的问题引发了这样的评论,那么这个网站可能不适合你。
-
@Filburt 有两种可能性:他手工构建了该正则表达式,因此他显然很有经验并且知道如何更改它,或者他只是在某个地方找到了它。显然第一个是不可能的,第二个也没有表现出太多的努力。特别是在这种情况下,解决方案是“删除明确标记的 [A-Z] 模式并将其与 [a-z] 模式合并”。即使不知道正则表达式,只要看五分钟,稍微精通编程的人就可以看到它。
-
@xanatos 为什么对使用正则表达式没有多少经验的人要从头开始?
-
@xanatos 少一点轻蔑,像 dcastro 的回答那样采取较轻的一面会更公平。如果你对每一个复制粘贴的菜鸟问题都一无所知,那么一开始你的情况会更糟。我宁愿质疑这是否以前没有得到回答,因此缺乏现场研究。 tldr:“你对技术 X 太笨了” 恕我直言。