您好我正在为CIS类开发一个类项目。我需要帮助编写可以检查密码的正则表达式。密码的要求是它必须是8个字符长,并且必须包含一个大写和一个小写字母以及至少一个数字。谢谢您的帮助。示例:Pasword1
到目前为止,我所拥有的是什么[a-zA-Z0-9]{8}
答案 0 :(得分:1)
这应该做你需要的:
$password = "Pasword1";
$pattern = '/^(?=.*\d)(?=.*[A-Z]).{8,}$/';
if(preg_match($pattern, $password))
{
echo "Good password!";
}
else
{
echo "Bad password";
}
答案 1 :(得分:0)
为了做到这一点,你需要做正面的预测(?=(regex))
。如果您只需要8个字符,并且您可以使用除了需要1个数字,大写和小写字母之外的任何类型的字符,那么您可以使用:
$pattern = '/^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z]).{8}$/';
如果您需要8个或更多字符而不是简单地修改为:
$pattern = '/^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z]).{8,}$/';