私はこれについて頭を包むことができないようで、ここで助けを求めると思いました!
基本的に私はパスワード フィールドを検証しており、要件は次のとおり
です
。
これは私がこれまでに持っているものですが、微調整が必要だと思います:
/[az]{3}[0-9][0-9]/i
私はこれについて頭を包むことができないようで、ここで助けを求めると思いました!
基本的に私はパスワード フィールドを検証しており、要件は次のとおり
です
。
これは私がこれまでに持っているものですが、微調整が必要だと思います:
/[az]{3}[0-9][0-9]/i
あなたが説明している正規表現は次のように書くことができます:
/(?=.*?[a-z]{3})(?=.*?\d.*?\d)/
最初の先読みは、任意の位置で連続する 3 文字を検索します。2 番目の先読みでは、任意の位置にある数字が検索され、さらにその先の数字が続きます。
これは、おそらく 2 つの別々の正規表現で行う必要があります。1 つは連続する 3 文字をテストするもので、もう 1 つは少なくとも 2 桁の数字をテストするものです。
/[a-z]{3}/i
/\d.*d/
両方の条件が満たされていることを確認してください。先読みを使用してこれを 1 つの正規表現に結合することもできますが、2 つの正規表現の方がより明確なコードであり、より優れたソリューションであると思います。
ただし、この問題について意見を述べるとしたら、これを制御できない場合 (クライアントが指定した場合) を除き、このようなパスワード制限を課さないことを強くお勧めします。実際には、パスワードシステムの安全性が大幅に低下しますが、安全性が向上するわけではありません. 理由についてのいくつかの読書:
http://jimpravetz.com/blog/2011/06/cheap-gpus-are-rendering-strong-passwords-use/