【问题标题】:how to create regex for password validation如何为密码验证创建正则表达式
【发布时间】:2014-04-14 08:03:15
【问题描述】:

至少有 7 个字符,并且应该有(数字或大写字母或特殊字符)中的任何一个。

要求是: 1) 密码必须至少为 7 个字符 2) 它应该包含任何一个数字或大写或特殊字符。

例如我的密码可以是:

Testertest
testing6
Tester@ok

我试过这样但它不起作用:

^(?=.*\\d)|(?=.*[a-zA-Z])|(?=.*[!@#\$%&\*]).{7,20}$

【问题讨论】:

  • 如何定义特殊字符?你试过自己解决吗?
  • 所有特殊字符都是允许的。我试过这样 ^(?=.*\\d)|(?=.*[a-zA-Z])|(?=.*[!@#\$%&*]).{7,20 }$ 但不工作
  • 为什么限制为最多 20 个字符?有一个最小值,但允许一个人拥有任意长的密码。 (我现在有一些 > 20 个字符)

标签: java regex validation passwords


【解决方案1】:

你可以使用:

^(?=.*?[\\dA-Z!@#$%&*]).{7,20}$

在线演示:http://regex101.com/r/lC5aL2

【讨论】:

  • @downvoter:如果您阅读 OP 的问题,这是正确的答案。
  • “a”不是大写字母、特殊字符或数字。
  • 密码应该是有效的,如果任何一个(数字或大写或特殊字符)我怎么能做到这一点,请你帮我。
  • @tenub:这就是 OP 在显示的尝试中的方式(在 cmets 中),密码很可能有小写字母。
  • 然而第一句话就很清楚了。甚至在编辑之前。
猜你喜欢
  • 1970-01-01
  • 2022-11-25
  • 2011-05-06
  • 2016-10-19
  • 2011-03-24
  • 1970-01-01
相关资源
最近更新 更多