注意:我认为这个问题不是这个问题的重复。我的问题涉及到 asp.net core identity 默认的密码验证规则以及如何制定它的正则表达式,而链接的问题是讨论一般的密码验证行为(这并不能解决我的问题)。
ASP.NET Core 启用了默认的密码验证规则:
ASP.NET Core 启用了默认的密码验证规则:
- 最少 8 个字符。
- 至少有一个数字。
- 至少有一个大写字母。
- 至少有一个小写字母。
- 至少有一个特殊字符(哪些特殊字符是允许的?)。
^((?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])|(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[^a-zA-Z0-9])|(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[^a-zA-Z0-9])|(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^a-zA-Z0-9])).{8,}$
即使满足点2、3、4或5中的任意一个条件,此正则表达式也会接受这些字符串。但我希望所有条件都应该满足。
我在这里做错了什么?
PasswordOptions
进行配置的,其默认长度为6个字符,其中至少包含一个唯一字符、一个非字母数字字符、一个小写字符、一个大写字符和一个数字字符。虽然规则可以进行配置,但作为正则表达式来使用就没有太多意义。为什么您希望将此作为正则表达式呢? - poke