パスワード正規表現ジェネレーター&テスター
長さ、小文字、大文字、数字、記号、空白禁止、繰り返し禁止のルールから、JavaScript、PHP、Python、Java、.NET、HTML用のパスワード検証正規表現を作成します。
構成ルールは強度を測る指標としては弱く、長さが最も重要です。NIST SP 800-63Bは、8文字以上(単一要素認証では15文字以上)、64文字以上を許可すること、文字種を求める代わりに漏えいしたパスワードのリストと照合することを推奨しています。
| パスワード | 結果 | 理由 |
|---|---|---|
| Passw0rd! | 合格 | — |
| password | 不合格 | 大文字なし、数字なし、記号なし |
| Sh0rt! | 不合格 | 短すぎる(6文字) |
| Aaa111!!!x | 不合格 | 「111」の繰り返し |
| Good Pass1! | 不合格 | 空白を含む |
| Tr0ub4dor&3 | 合格 | — |
登録フォームでは、たいてい正規表現でパスワードのルールを強制します。最小の長さ、小文字・大文字・数字・記号をそれぞれ1文字以上、空白なし、といったものです。このようなパターンを手で書くには、先読みを正しく積み重ね、言語ごとに記号をエスケープする必要があります。必要なルールにチェックを入れると、JavaScript、PHP、Python、Java、C#、HTMLのpattern属性向けのコードつきの正規表現ができあがり、サンプルのパスワードを貼り付ければ、どれが通り、それぞれがどのルールに違反するのかが正確にわかります。
使い方
- 最小と最大の長さを設定します。
- 必ず含める文字の種類にチェックを入れ、特定の記号の集合にしたい場合は許可する記号を書きます。
- 空白と3回連続の繰り返しを禁止するかどうかを選びます。
- 言語を選んでコードをコピーします。
- テスト用のパスワードを1行に1つずつ入力して、ルールを確認します。
計算式
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[記号])(?!.*\s)(?!.*(.)\1\1).{最小,最大}$
(?=.*X)はそれぞれ、どこかにXがあることを求める先読みで、(?!.*\s)は空白を、(?!.*(.)\1\1)は同じ文字の3回連続を禁止します。最後の部分が長さ(「次のみ許可」を使う場合は許可する文字)を決めます。記号は言語ごとにエスケープされます。JavaScript(uフラグ)、PCRE、Python、Java、.NETは\ ] [ ^ -をエスケープし、vフラグでコンパイルされるHTMLのpattern属性では、ほとんどの句読点をエスケープする必要があります。
計算例
既定のルール(8〜64文字、4種類すべて、空白なし、3回連続なし)では、6つのサンプルのうち2つが通ります。Passw0rd!とTr0ub4dor&3です。「password」には大文字、数字、記号がなく、「Sh0rt!」は6文字しかなく、「Aaa111!!!x」は1と!を3回繰り返しており、「Good Pass1!」には空白が含まれています。
よくある質問
正規表現だけでパスワードは安全になりますか?
いいえ。正規表現は形式を強制するだけです。文字の種類よりも長さのほうがはるかに重要で、NIST SP 800-63Bは、新しいパスワードを漏えいしたパスワードのリストと照合することと、長いパスフレーズを許可することを勧めています。検証は、ブラウザだけでなく必ずサーバーでも行ってください。
^と$ではなく\Aと\zを使うのはなぜですか?
PCRE、Python、Java、.NETでは、$は末尾の改行の前にも一致するため、「Passw0rd!\n」がすり抜けてしまいます。\z(Pythonでは\Z、PHPでは/D付きの$)は、本当の末尾でしか一致しません。
絵文字やアクセント付きの文字はどう数えますか?
uフラグ付きのJavaScript、/u付きのPHP、Pythonはコードポイントを1つと数え、Javaと.NETはUTF-16単位で数えるため、絵文字は2になります。éのような文字はa–zに含まれないため、既定の記号ルールでは記号として扱われます。
出典
最終更新:
この入力内容のページアドレス: https://kakao.mobile/ja/tools/password-regex-tool/
このツールを引用する
kakaoCalc. (2026, November 8). パスワード正規表現ジェネレーター&テスター. https://kakao.mobile/ja/tools/password-regex-tool/
“パスワード正規表現ジェネレーター&テスター.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/password-regex-tool/.