パスワード強度の検証に使用できる可能性のある正規表現を作成しました。
^(?:([A-Z])*([a-z])*(\d)*(\W)*){8,12}$
式は次の 4 つのグループで構成されます。
- 0 個以上の大文字
- 0 個以上の小文字
- 0 桁以上の 10 進数
- 0 個以上の単語以外の文字 (!、£、$、% など)
私がそれを機能させたい方法は、パスワードの強度を判断するために、一致したグループの数を判断することです。たとえば、1 つのグループのみが一致する場合、それは弱いものになります。4つのグループがすべて一致した場合、それは強いでしょう.
Rubular (Ruby 正規表現エディター)を使用して式をテストしました。
ここでは、一致するグループの数を視覚的に確認できますが、これを JavaScript で行いたいと考えています。一致したグループの数を返すスクリプトを作成しましたが、結果は Rubular で確認できるものと同じではありませんでした。
JavaScriptでこれを達成するにはどうすればよいですか? そして、私の正規表現は仕事をしていますか?