RegEx验证密码(1个小写,1个大写,1个数字,NoSpaces)

时间:2012-10-08 11:19:31

标签: regex passwords character

我正在尝试创建一个RegExpression以满足以下条件;

  • 至少1个小写
  • 至少1个大写
  • 至少1位数字
  • 没有空格
  • 最少8个字符
  • 没有特殊字符

到目前为止,我得到了这个;

^(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.\s).*$

但是我无法让它发挥作用。 任何帮助将不胜感激。 我从不擅长拼图:)

1 个答案:

答案 0 :(得分:6)

你快到了;只是最后的.*会忽略您的“无空格/特殊字符”规则,而(?=.\s)前瞻是错误的(您可能需要(?!.*\s)(?=\S*$))。

但是你不需要那个先行,因为你可以简单地指定允许哪些字符(并在那里强制执行“最少8个字符”规则):

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d]{8,}$

但是,为什么要阻止用户在其密码中使用非字母数字字符?