【发布时间】:2016-01-18 03:11:49
【问题描述】:
我有一个如下所示的密码表达式。
它必须允许一个小写字母、一个大写字母、一个数字或一个小写字母、一个大写字母、一个特殊字符或一个小写字母、一个大写字母、一个数字、一个特殊字符。我使用 | 加入了所有三个条件要么。它应该最少 8 个字符,最多 20 个字符。它应该只允许特定的特殊字符 $@#!%。但是在这里它允许所有特殊字符,尽管我提到了特定的集合。这是主要问题。我花了很多时间来改变模式,但仍然允许所有特殊字符。 ——
我不明白为什么它允许 ^ (Marr1234^)?
(((?=.\d)(?=.[az])(?=.[AZ])(?=.[$@# !%]))|((?=.[az])(?=.[AZ])(?=.[$@#!%]))|((? =.\d)(?=.[az])(?=.[AZ]))).{8,20}
任何想法
【问题讨论】:
-
我不明白你的实际问题是什么。
-
我的密码允许 ^ ,我的正则表达式中没有 ^。
-
你想达到什么目的?有什么提示吗?
-
这会很棒,所以请查看您实际尝试检查匹配的代码...
-
好的,我的密码应该只允许特定的特殊字符 $@#!% 但我不明白为什么它允许 ^。我的常规表达方式是休闲。 (((?=.*\\d)(?=.*[az])(?=.*[AZ])(?=.*[$@#!%]))|((?=.* [az])(?=.*[AZ])(?=.*[$@#!%]))|((?=.*\\d)(?=.*[az])(?= .*[AZ])))。{8,20}