「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は郵便番号ではない。

Java

Posted by arkgame