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