【问题标题】:RegEx for very secure passwordsRegEx 用于非常安全的密码
【发布时间】:2019-07-11 21:55:28
【问题描述】:

我正在做一个项目,需要使用以下规则验证密码生成:

  • 最少 1 个数字
  • 至少 1 个大写字母
  • 最少 1 个符号
  • 没有连续的数字
  • 不包括电子邮件或用户名
  • 最少 8 位数字

到目前为止,我有一个这样的正则表达式:

/^(?=.*[0-9])(?=.*[a-z])(?!=.*\d{4})(?=.*[A-Z])(?=.*[!@#$%^&*(),.?":{}|<>])(?=\S+$).{8,16}$/

这仅检查: - 最少 1 个号码 - 至少 1 个大写字母 - 最少 1 个符号 - 最少 8 位数字

我不确定如何检查:

  • 没有连续的数字 (4)

接受:

1953
1749
7402

不接受:

1234
0987
4567
1111
9999

【问题讨论】:

  • 这个网站只有英文版 - 请在Stack Overflow en español提问。
  • Monserrat Genereux,您是否觉得这是一个使用您所用语言的网站,因为您是通过自动翻译器阅读的?如果你这么好心回答这个问题,那么我会反过来尽我所能帮助你学习如何使用这个社区。​​span>

标签: javascript regex regex-lookarounds


【解决方案1】:

这里有一些提示:

  • 如何查询连续号码:Regex to check for 4 consecutive numbers
  • 有更多特殊字符[!@#$%^&amp;*(),.?":{}|&lt;&gt;]
  • 我会单独检查其他电子邮件/用户名,而不是此正则表达式的一部分。我会在.-\s-_ 上拆分电子邮件/用户名并检查密码是否包含任何拆分的部分。

另外请记住,对密码制定非常具体的规则会限制可能的密码数量。我建议添加密码强度计而不是限制并让人们决定。

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-07
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 2014-11-25
    • 1970-01-01
    相关资源
    最近更新 更多