密码正则表达式,用于特定要求

时间:2013-03-13 13:31:03

标签: javascript regex

我要写一个关于以下要求的正则表达式

  1. 至少一个字符
  2. 至少一位数
  3. 长度必须为8
  4. 至少一个特殊字符(可以是任何特殊字符)
  5. 前三个很容易,但找不到限制至少特殊字符(任何可能的特殊字符,如',":*^%>?等)的方法。

1 个答案:

答案 0 :(得分:2)

您可以通过前瞻的组合来解决这些问题:

  1. (?=.*[a-zA-Z])
  2. (?=.*\d)
  3. .{8}
  4. (?=.*[^\da-zA-Z])
  5. 最后一个只需要一个非字母和非数字,这可能是迄今为止最简单的指定你想要一个“特殊”字符的方法。

    所以最后你有

    ^(?=.*[a-zA-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8}$