【发布时间】:2019-07-22 13:57:13
【问题描述】:
我有一个这个正则表达式;
("(?=.*[a-z]).*")
("(?=.*[0-9]).*")
("(?=.*[A-Z]).*")
("(?=.*[!@#$%&*()_+=|<>?{}\\[\\]~-]).*")
检查具有要求的密码: 长度 = 8,然后是以下三个 - 小写,大写,数字,特殊字符。 以上 4 中的 3 + 长度为 8 为必填项。
在密码中有空格之前,我的工作正常,然后它会打印错误消息。 换句话说,我如何在我的特殊字符列表中包含空格,谢谢!
【问题讨论】:
-
你真的需要在一个正则表达式中做到这一点吗?通过多次检查,代码将更清晰。在此用例中,性能不太可能成为问题。写起来难,以后的同事读起来就更难了。
-
我的意思是,它应该至少包含三个(小写字母、大写字母、数字、特殊字符)。我使用了多个检查,但是当有空格时它会返回错误
-
您正在尝试检查您发现难以用正则表达式表达的内容:考虑一下。
-
你说的特殊字符是什么意思? 它坏了是什么意思?
-
特殊字符是指非数字和数字。我的意思是,密码可能有效,但程序打印无效,我特别有这个空间,如果你知道这个,请告诉我,谢谢
标签: java regex string passwords