5

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

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

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

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

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

4

1 回答 1

6

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

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

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

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

于 2012-10-08T11:23:47.537 回答