-2

重複の可能性:
大文字と小文字が混在する単語に一致する正規表現

こんにちは、CIS クラスのクラス プロジェクトに取り組んでいます。パスワードをチェックできる正規表現を書くのに助けが必要です。パスワードの要件は、長さが 8 文字で、大文字と小文字が 1 文字ずつ、数字が 1 つ以上含まれている必要があります。助けてくれてありがとう。例: パスワード1

これが私がこれまでに持っているものです [a-zA-Z0-9]{8}

4

2 に答える 2

1

これはあなたが必要とすることをするはずです:

$password = "Pasword1";
$pattern = '/^(?=.*\d)(?=.*[A-Z]).{8,}$/';
if(preg_match($pattern, $password))
{
    echo "Good password!";
}
else
{
    echo "Bad password";
}
于 2012-12-05T00:25:34.520 に答える
0

これを行うには、前向きな先読みを行う必要があります(?=(regex))。正確に 8 文字が必要で、数字、大文字、小文字をそれぞれ 1 つずつ必要とする以外の任意の種類の文字が許可されている場合は、次のように使用できます。

$pattern = '/^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z]).{8}$/';

単純にこれを変更するよりも 8 文字以上必要な場合は、次のようにします。

$pattern = '/^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z]).{8,}$/'; 
于 2012-12-05T00:51:03.127 に答える