
SSN Regex Java バリデーター
SSN Regex Java バリデーターを使って、JavaアプリケーションでU.S. SSNを検証できます。Java regex を使って入力文字列を標準SSNフォーマットと照合します。安全なフォーム、本人確認、バックエンドバリデーションに最適です。
フォームバリデーション全体にはメール Regex Java バリデーターや電話番号 Regex Java バリデーターとの組み合わせもご検討ください。
SSN Regex Java バリデーター - ドキュメント
SSN Regex とは何ですか?
社会保障番号(SSN)は米国政府が発行する9桁の識別子で、次のフォーマットに従います:
AAA-GG-SSSS
各部分の意味:
AAA = エリア番号
GG = グループ番号
SSSS = シリアル番号
Regex はJavaアプリケーション、API、フォーム入力でこの構造を検証するために一般的に使われます。
SSN 向けJava Regex パターン
"^\\d{3}-\\d{2}-\\d{4}$"パターンの説明:
^ と $ - 文字列全体のマッチを確保するアンカー
\\d{3} - エリア(3桁)にマッチ
- - ハイフン区切り
\\d{2} - グループ(2桁)
\\d{4} - シリアル(4桁)
このパターンは 123-45-6789 のような正しくフォーマットされたSSNを検証します。
Regex を超えたSSNフォーマットルール
regex はフォーマットをチェックしますが、実際のSSNには以下のルールがあります:
ゼログループなし:000-12-3456、123-00-4567、123-45-0000 は無効。
666始まりなし
900〜999始まりなし
これらのフィルターにより偽造または不正なSSNを排除できます。
Javaコード例
import java.util.regex.Pattern; import java.util.regex.Matcher;public class SSNValidator { public static void main(String[] args) { String ssn = "123-45-6789"; String regex = "^\d{3}-\d{2}-\d{4}$";
Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(ssn); if (matcher.matches()) { System.out.println("Valid SSN"); } else { System.out.println("Invalid SSN format"); } }
}
有効・無効の例
✅ 123-45-6789 - 有効
❌ 123456789 - ハイフンが欠落
❌ 12-345-6789 - グループ分けが間違い
❌ abc-de-ghij - 文字が含まれる
Java Regex フラグ(クイックガイド)
regex の動作を変更するフラグ:
Pattern.CASE_INSENSITIVE - 大文字小文字を区別せずにマッチ
Pattern.MULTILINE - ^ と $ を各行に適用
Pattern.DOTALL - . が改行にもマッチ
Pattern.UNICODE_CASE - Unicode文字を処理
複数のマッチには matcher.find() ループを使用
プロのヒント
SSNを平文で保存しないこと。常にハッシュまたは暗号化する
フォームには ###-##-#### のような入力マスクを使用する
本番システムでは 123-45-6789 のようなプレースホルダーSSNを避ける
Regex はフォーマットのみを確認し、SSNが実在または発行済みかは確認しない
最善の結果を得るにはフロントエンドのマスキングとバックエンドの regex を組み合わせる
ユースケース
人事システム - オンボーディング時の従業員情報検証
金融アプリ - 安全な処理のための無効IDの防止
政府ポータル - 公開データフォームへの正しいフォーマットの強制
データクリーンアップ - データベース内の不正なSSNの検出と修正
組み合わせをお勧めするツール
メール Regex Java バリデーター - 同じフォームでユーザーメールを検証。
電話番号 Regex Java バリデーター - SSNと並行してU.S.電話番号を検証。
Java Regex テスター - カスタムSSNパターンを試す。
Frequently Asked Questions
この regex はSSNが本物かどうか確認できますか?
SSNは常に同じフォーマットですか?
Regex のハイフンを削除できますか?
このバリデーターは大文字小文字を区別しますか?
本番環境でこのパターンを使用できますか?
Related Articles






