【发布时间】:2013-05-23 18:05:51
【问题描述】:
我需要在 Java 中进行密码验证后执行此操作
- 长度必须至少为 8 个字符
- 必须至少包含 1 个数字
- 必须至少包含 1 个大写字母
- 必须至少包含 1 个小写字母
- 您的全名或用户名中不能包含 3 个或更多连续字符(例如,如果您的姓名是
Will,则您不能使用密码Stiller458)
我有前4分,我怎么做最后一分?
目前我有:
String pattern = "^(?=.*[^a-zA-Z])(?=.*[a-z])(?=.*[A-Z])\\S{8,}$";
boolean passwordValidation = originalPassword.matches(pattern);
【问题讨论】:
-
你必须用正则表达式来做这个吗?最后一点可能是不可能的。
-
谁让你在正则表达式中这样做?你应该偷他一个甜甜圈!
-
谢谢大家,我一直在与不使用 RegEx 的人争吵,他们坚持认为这是可能的,当我告诉他们给我 RegEx 时,他们刚刚离开。
-
对于一个号码,
[^a-zA-Z]应该是[0-9]。你可能想要.而不是\\S。
标签: java regex validation passwords