我使用java和一个正则表达式。
我为密码验证制作了一个正则表达式:
String PASSWORD_PATTERN_ADVANCED = "^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\\\\@#$¤£µ§%&<>,.!:?;~{-|`'_^¨éèçàù)=}()°\"\\]\\[²³*/+]).{8,20}$";
或没有额外的斜线:
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\\@#$¤£µ§%&<>,.!:?;~{-|`'_^¨éèçàù)=}()°"\]\[²³*/+]).{8,20}$
这意味着(我可能是错的):至少一个数字/至少一个小写字母/至少一个大写字母/至少一个列出的特殊字符/最小总长度为 8,最大为 20...
做了一个测试用例生成成功和失败的密码......
成功 -> 好的,所有通过失败 -> 几乎可以...
唯一失败的密码:D 是其中有空格的密码,例如:
iF\ !h6 2A3|Gm
¨I O7 gZ2%L£k vd~39
2< A Uw a7kEw6,6S^
cC2c5N#
6L kIw~ Béj7]5
ynRZ #44ç
9A `sè53Laj A
s²R[µ3 9UrR q8n
我很困惑。
有什么想法让它起作用吗?
谢谢