密码验证的正则表达式,长度为8和字母数字

时间:2012-12-05 00:02:15

标签: php regex

  

可能重复:
  Regex to match mixed case words

您好我正在为CIS类开发一个类项目。我需要帮助编写可以检查密码的正则表达式。密码的要求是它必须是8个字符长,并且必须包含一个大写和一个小写字母以及至少一个数字。谢谢您的帮助。示例:Pasword1

到目前为止,我所拥有的是什么 [a-zA-Z0-9]{8}

2 个答案:

答案 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,}$/';