代码之家  ›  专栏  ›  技术社区  ›  Karan Desai

默认ASP的正则表达式。NET Core身份密码

  •  19
  • Karan Desai  · 技术社区  · 7 年前

    笔记 :我认为,这个问题不是这个问题的重复 question . 我的问题是处理asp的默认验证规则。net core identity用于密码验证,以及如何生成regex,而链接的问题正在讨论,通常是关于验证密码的行为(这并不能解决我的问题)

    ASP。NET Core启用密码验证后的默认值

    1. 最少8个字符
    2. 应至少有一个数字
    3. 应至少有一个大写字母
    4. 应至少有一个小写字母
    5. 应至少具有一个特殊字符(允许使用哪些特殊字符?)

    考虑到这些条件,我尝试生成以下正则表达式,但它不起作用。

    ^((?=.*?[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点的三个条件中的任何一个匹配,此正则表达式也会接受字符串。但我希望所有条件都能满足。

    我做错了什么?

    1 回复  |  直到 7 年前
        1
  •  38
  •   MD. Khairul Basar    6 年前

    所以,使用

    ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[#$^+=!*()@%&]).{8,}$
    
    • ^ :第一行
    • (?=.*[a-z]):应至少有一个小写
    • (?=.*[A-Z]):应至少有一个大写字母
    • (?=.*\d):应至少有一个数字
    • (?=.[\;$^+=!*()@%&]):应至少具有一个特殊字符
    • .{8,}:最少8个字符
    • $:结束行

    有关更多信息: this