お疲れ様です。
はるさらと申します。
今回は私が覚えきれずに
プログラミング中に毎回調べてしまう
正規表現を使用したバリデーションチェックの備忘録記事となります。
Webアプリや業務システムを開発していると、
入力値を検証する バリデーションチェック は欠かせません。
その際 正規表現(Regex) を使うことで、
文字列の形式チェックを柔軟に行うことができます。

本記事では、Javaで利用できる代表的なバ正規表現をまとめていきます。
実装にお役立ていただければ幸いです。
Javaで正規表現を使ったチェック方法
Javaでは Pattern クラスと Matcher クラスを利用して、
文字列が正規表現に一致するかを判定できます。
サンプルコード
import java.util.regex.Pattern;
public class validationUtil {
public static boolean isValid(String input, String regex) {
return Pattern.matches(regex, input);
}
public static void main(String[] args) {
String email = "test!example.com";
String emailRegex = "^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+$";
if(!isValid(email, emailRegex)) {
System.out.println("メールアドレスの形式に誤りがあります。入力値:" + email );
}
}
}
よく使う正規表現バリデーション一覧
1. メールアドレス
^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+$
解説:
^[A-Za-z0-9+_.-]+→ 英数字と一部記号を許可(@の前半部分)@→ 必須の「アットマーク」[A-Za-z0-9.-]+$→ ドメイン部分(例: example.com)
簡易的なメールチェックに適しています。
2. 電話番号(国内)
^0\d{1,4}-\d{1,4}-\d{4}$
解説:
^0→ 先頭は必ず0から始まる\d{1,4}→ 市外局番や携帯番号の桁数を考慮(1~4桁)-→ ハイフン必須\d{4}$→ 最後は4桁で終了
03-1234-5678 や 090-1234-5678 形式に対応しています。
3. 郵便番号(日本)
^\d{3}-\d{4}$
解説:
^\d{3}→ 3桁の数字-→ ハイフン\d{4}$→ 4桁の数字
123-4567 のような郵便番号形式に対応しています。
4. 半角数字のみ
^[0-9]+$
解説:
^[0-9]+$→ 数字のみを1文字以上許可
金額や数量のチェックに利用できます。
5. 半角英字のみ
^[A-Za-z]+$
解説:
^[A-Za-z]+$→ 大文字小文字のアルファベットのみを許可
英字だけの名前やコード入力に利用できます。
6. 半角英数字(英数混在OK)
^[A-Za-z0-9]+$
解説:
^[A-Za-z0-9]+$→ 英字・数字を組み合わせた文字列を許可
ユーザーIDやパスワードの基本ルールとして使用できます。
7. パスワード(8文字以上・英大文字小文字数字を含む)
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d]{8,}$
解説:
(?=.*[a-z])→ 小文字を最低1つ含む(?=.*[A-Z])→ 大文字を最低1つ含む(?=.*\d)→ 数字を最低1つ含む{8,}→ 8文字以上
セキュリティ基準を満たすパスワードを
設定してもらうときに活用できます。
8. URLチェック
^https?://[A-Za-z0-9./%#?=&_-]+$
解説:
^https?://→ http または https から始まる[A-Za-z0-9./%#?=&_-]+→ ドメインやパスの許可文字
簡易的なURL形式の確認が可能です。
9. 日付(yyyy-mm-dd)
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
解説:
\d{4}→ 西暦4桁(0[1-9]|1[0-2])→ 月は01~12(0[1-9]|[12][0-9]|3[01])→ 日付は01~31
2025-09-09 のような形式をチェックできます。
10. 時刻(HH:mm形式)
^([01]\d|2[0-3]):([0-5]\d)$
解説:
([01]\d|2[0-3])→ 時は00~23([0-5]\d)→ 分は00~59
23:59 までの形式を許可しています。
11. IPv4アドレス
^((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$
解説:
(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)→ 0~255 の数値を許可\.→ 各ブロックは「.」で区切る{3}→ これを3回繰り返す(計4ブロック)
192.168.0.1 のようなIPv4形式をチェック可能です。
まとめ
Javaの正規表現を使うと、入力チェックを簡単に実装できます。
Pattern.matches(regex, input)を使うのが基本- メール・電話・郵便番号などの日常的な入力チェックに対応
- パスワードやクレジットカードなど、セキュリティ要件に応じて強化可能
- 日付やIPアドレスも正規表現で検証可能
実運用では、正規表現に加えて
ビジネスロジックでの検証 も組み合わせるとより堅牢になります。
どなたかのお役に立てば幸いです。
それではまたー!!





































