【问题标题】:Regular expression for my password policy [duplicate]我的密码策略的正则表达式 [重复]
【发布时间】:2014-03-20 10:21:32
【问题描述】:

我的密码强度标准如下:

  • 字符长度:8 -> 24
  • 至少包含以下 3 个类型:
    • 大写字母 [A-Z]
    • 小写字母 [a-z]
    • 数字 [0-9]
    • 特殊字符~`!@#$%^&*()-_=+[{]}\|;:'".?/

谁能帮我做正则表达式并解释一下。谢谢。

【问题讨论】:

  • 需要使用正则表达式吗?
  • 提示:你需要前瞻。另外:个人不会为此使用 RegEx。
  • 如果我的规则可以用正则表达式编写,我可以将它与 javascript 一起使用,就像 .net C# 一样。
  • @LuLu 是的,这主要需要前瞻(如果你只使用一个正则表达式,如果你使用多个,则不需要),JS 和 C# 都支持。

标签: c# .net regex


【解决方案1】:

在一个正则表达式中很难做到。就个人而言,我会分别检查每个案例并计算是否有三场比赛。它会更容易阅读和维护。

所以匹配 [A-Z] 然后 [a-z] 然后 [0-9] 最后 [~`!@#$%^&*()-_=+[{]}\|;:'" .?/]

如果你最终在三个测试中匹配成功。

【讨论】:

    【解决方案2】:

    使用这个正则表达式:

    (?=.{8,24})(?=.*\d)(?=.*[A-Za-z])(?=.*[~`!@#\$%\^&\*()_=\+[{\]}\|;:'"<,>\.\?/]).*
    

    Debuggex Demo

    【讨论】:

      猜你喜欢
      • 2012-04-12
      • 1970-01-01
      • 2016-10-20
      • 2018-08-20
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多