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

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

  • 到目前为止,我已经明白了;
    ^(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.\s).*$
    

    但是我无法使其正常工作。
    任何帮助将不胜感激。
    我从来都不擅长拼图:)

    最佳答案

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

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

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

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

    10-08 18:40