1

ユーザーがフィールドにパスワードを挿入できる正規表現が必要です。ただし、使用できる正規表現は [A-Za-z0-9] だけですが、「スペース」、「.」、「_」、「-」も使用できます。私がリストした特殊文字を許可するにはどうすればよいですか?一方、他のすべての特殊文字は許可しません。

出来ますか?

このコードを使用してパスワードの品質をチェックしますが、特殊文字を管理できないため、目標には不十分です。

            else if ($check_strength && (!preg_match("/[0-9]/", $newpwd) || !preg_match("/[^A-Za-z0-9]/", $newpwd))) {
            $rcmail->output->command('display_message', $this->gettext('passwordweak'), 'error');
        }

私はこれで私の問題を解決しました:

"/^[A-Za-z0-9\.\-\_]+$/"
4

3 に答える 3

0

正規表現でユーザーのパスワードを「チェック」しないでください。メトリックを使用して強度を確認し、それが「十分に強い」と見なされることを確認することをお勧めします(たとえば、メトリックはこのサイトを参照してください)。

このようにして、ユーザーはパスワードに任意の文字を含めることができます。ユーザーがパスワードでどの文字を選択するかを気にする必要はありません。とにかくそれをハッシュするので、影響はありません。


これがあなたの正規表現です。

[\w .-]+
于 2012-04-11T15:31:07.927 に答える