【问题标题】:Regular expressions for password validation missing work密码验证缺少工作的正则表达式
【发布时间】:2013-03-12 14:41:41
【问题描述】:

我需要验证符合以下条件的密码:

  • 长度必须至少为 6 个字符 (?=.{6})

  • 字符串包含一个数字 (0-9) 和至少 1 个大写字母 (A-Z) 和至少 1 个 (-) 字符。

  • 字符串不以 - 字符开头和结尾(无效:-ABCDE 或 ABCDE- 等)

有效字符串

A-BCDE

ABC-DE

1B-CDE

1-BCDE

AB-CD1

ABCD-1

我的正则表达式

^.(?=.{6})(?=.\d)(?=.[A-Z])(?=.[-]) .*$

演示网址:

http://www.rubular.com/r/YHdPCjSW6P

无效字符串

ABCDEF(否 - 字符必须是至少 1 个 - 之一)

-ABCDE(-第一个字符不能)

ABCDE-(-最后一个字符不能)

A-BC-D(- 不能超过 1)

【问题讨论】:

    标签: validation passwords expression


    【解决方案1】:

    这对你有用吗?

    ^.*(?=.{6})(?=[^\-].*[a-zA-Z])[a-zA-Z0-9\-]{1,5}[^\-]$
    

    在此处查看示例http://www.rubular.com/r/spfqXIVZyX

    【讨论】:

    • 感谢 tchap 但有些问题 A-B-DE(无效,因为 - 使用了 2 次) - 只使用了 1 次,并且一直至少使用了 1 个 (-) 字符。和 ABCDEF(无效,因为 - 未使用)请查看 rubular.com/r/qXCubwnmM0
    【解决方案2】:

    有效字符串

    A-BCDE

    ABC-DE

    1B-CDE

    1-BCDE

    AB-CD1

    ABCD-1

    无效字符串

    ABCDEF(否 - 字符必须是至少 1 个 - 之一)

    -ABCDE(-第一个字符不能)

    ABCDE-(-最后一个字符不能)

    A-BC-D(- 不能超过 1)

    我现在的正则表达式

    ^.(?=.{6})(?=[^-].[a-zA-Z])[a-zA-Z0-9-]{1,5 }[^-]$

    演示网址:

    http://www.rubular.com/r/3Q6Ozs4aVB

    【讨论】:

      猜你喜欢
      • 2011-05-06
      • 2016-10-19
      • 2011-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多