「Java」正規表現式で郵便番号(ハイフンあり、なし)をチェックするサンプル
説明
ハイフン付き郵便番号の正規表現式
^[0-9]{3}-[0-9]{4}$
ハイフンなし郵便番号の正規表現式
^[0-9]{7}$
Javaコード
package com.arkgame.study; import java.util.regex.Pattern; public class PostChkDemo { // ハイフン付き郵便番号の正規表現 private static final String hypenA = "^[0-9]{3}-[0-9]{4}$"; // ハイフンなし郵便番号の正規表現 private static final String hypenB = "^[0-9]{7}$"; public static void main(String[] args) { String strA = "123-4567"; String strB = "12-3456"; String strC = "1234567"; String strD = "123456d"; if (zipCodeHypen(strA) || zipCodeHypenNashi(strA)) { System.out.println(strA + "は郵便番号です。"); } else { System.out.println(strA + "は郵便番号です。"); } if (zipCodeHypen(strB) || zipCodeHypenNashi(strB)) { System.out.println(strB + "は郵便番号です。"); } else { System.out.println(strB + "は郵便番号ではない。"); } if (zipCodeHypen(strC) || zipCodeHypenNashi(strC)) { System.out.println(strC + "郵便番号です。"); } else { System.out.println(strC + "は郵便番号ではない。"); } if (zipCodeHypen(strD) || zipCodeHypenNashi(strD)) { System.out.println(strD + "郵便番号です。"); } else { System.out.println(strD + "は郵便番号ではない。"); } } public static boolean zipCodeHypen(String str) { // ハイフン付き郵便番号のチェック return Pattern.matches(hypenA, str); } public static boolean zipCodeHypenNashi(String str) { // ハイフンなしで郵便番号のチェック return Pattern.matches(hypenB, str); } }
実行結果
123-4567は郵便番号です。
12-3456は郵便番号ではない。
1234567郵便番号です。
123456dは郵便番号ではない。