0

ユーザーがパスワードを入力します。たとえば、'tomorrow1234'。で配列に分割できることは承知していますstr_splitが、その後、各値を調べて、大文字、数字、空白などを検索したいと思います。

どうすればこれを行うことができますか?

4

2 に答える 2

1

これは、パスワードの複雑さを検証するために使用する古いスタンバイ機能です。パスワードには、大文字と小文字、および英字以外の文字が含まれている必要があります。長さのチェックは簡単で、他の場所で処理されます。

$req_regex = array(
    '/[A-Z]/',      //uppercase
    '/[a-z]/',      //lowercase
    '/[^A-Za-z]/'   //non-alpha
);

foreach($req_regex as $regex) {
    if( !preg_match($regex, $password) ) {
        return NULL;
    }
}

配列とループを使用しているので、必要に応じて条件を簡単に追加/削除できます。

于 2012-11-29T18:39:58.827 に答える
1

パスワードの強度を確認しようとしているようです。

このWebページをチェックしてください。ソリューションは特定の答えを書くのにかなり複雑ですが、正規表現を使用して、大文字、記号、数字などをチェックできます。このページには、必要に応じて変更できるいくつかの例があります。

http://www.cafewebmaster.com/check-password-strength-safety-php-and-regex

これは私が使用するものです:

(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$

1文字、1数字、1特殊文字、および少なくとも8文字の長さをチェックします。

于 2012-11-29T18:40:42.590 に答える