我正在尝试创建一个RegExpression以满足以下条件;
到目前为止,我已经明白了;
^(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.\s).*$
但是我无法使其正常工作。
任何帮助将不胜感激。
我从来都不擅长拼图:)
最佳答案
你快到了;只是结尾处的.*
忽略了“无空格/特殊字符”规则,而(?=.\s)
前瞻是错误的(您可能是(?!.*\s)
或(?=\S*$)
)。
但是无论如何您都不需要预先查找,因为您可以简单地指定允许使用哪些字符(并在那里强制执行“最少8个字符”规则):
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d]{8,}$
但是,为什么要阻止用户在其密码中使用非字母数字字符呢?