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

use*_*357 5 regex passwords character

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

  • 至少1个小写
  • 至少1个大写字母
  • 至少1位数
  • 空间不足
  • 最少8个字符
  • 没有特殊字符

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

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

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

Tim*_*ker 6

你快到了; 它只是.*在最后忽略你的"无空格/特殊字符"规则,而(?=.\s)前瞻是错误的(你可能意味着(?!.*\s)(?=\S*$)).

但是你无论如何都不需要前瞻,因为你可以简单地指定允许哪些字符(并在那里强制执行"最少8个字符"规则):

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

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