-2

重複の可能性:
正規表現を使用してパスワードを検証する

パスワードが次のようになっていることを確認する必要があるphp部分をコーディングしようとしています。

  1. 6文字以上
  2. 少なくとも1つの大文字
  3. 少なくとも 1 つの小文字
  4. 少なくとも 1 つの数字
  5. 少なくとも 1 つの英数字以外の文字

パスワードが「パスワードの再入力」セクションと一致していることを確認する必要があります。パスワードとパスワードの再入力の検証がありますが、これはそれを表現する最良の方法ですか?

if ($pass != $repass)
{
  $repassErrorMsg = "Your password does not match the password entered above";
}

上記のケースでパスワードを検証する方法がわかりません。正規表現を使用してソリッド形式を検証する方法は知っていますが、形式が柔軟な場合に次のケースを検証する方法がわかりません。ユーザーが選択したパスワードのケース シナリオ (例: 少なくとも 1 つの数字) を検証するために、パスワードの RegEx を表現するにはどうすればよいですか。彼は、パスワード テキストボックスの任意の場所にケース シナリオを入力している可能性があります。

4

4 に答える 4

1

パスワードの強度と安全性を確認するには、正規表現と PHP を組み合わせて使用​​する必要があります。

この投稿を確認してください。提供されたコードは、すべての条件を説明しています。

于 2012-09-26T21:14:29.997 に答える
0

私はこれが役立つかもしれないと思いました...

大文字と小文字をテストします。

大文字と小文字の数字と記号のパスワードを確認する

あなたの長さをテストしてください:

PHPで文字列の長さを確認する

于 2012-09-26T21:16:34.210 に答える
0

私はPHP-Passwordクラスを使用しています - それはあなたが求めたすべてを行います。

于 2012-09-26T21:10:38.247 に答える
0

正規表現を使用すると非常に簡単です >>

preg_match('/^(?=.{6})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[\W_])/', $password))

このコードをここでテストします。

于 2012-09-26T21:54:48.157 に答える