【Javaサンプルコード】カタカナ(全角・半角)チェック

概要

今回は、「カタカナ」をチェックするサンプルコードを紹介します。

・文字列が全て全角カナであるか
・文字列の一部に全角カナが含まれているか
・文字列が全て半角カナであるか
・文字列の一部に半角カナが含まれているか

未入力チェックのサンプルコード

※isEmptyメソッドについては、過去に掲載した以下の内容です。↓↓↓

カタカナチェックのサンプルコード


import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StringUtil {

	//全て全角カナか
	private static final String IS_FULL_KANA = "^[\\u30A0-\\u30FF]+$";
	//一部全角カナが含んでいるか
	private static final String HAS_FULL_KANA = ".*[\\u30A0-\\u30FF]+.*";

	//全て半角カナか
	private static final String IS_HALF_KANA = "^[\\uFF61-\\uFF9F]+$";
	//一部半角カナを含んでいるか
	private static final String HAS_HALF_KANA = ".*[\\uFF61-\\uFF9F]+.*";

	/**
	 * 全角カタカナチェック(全て)
	 *
	 * 全て全角カタカナであるかどうかをチェックする
	 *
	 * @param str チェック対象の文字列
	 * @return true:全て全角カタカナ  false:全角カタカナ以外の文字が含まれている
	 */
	public static boolean isFullKana(String str) {
		if (!isEmpty(str)) {
			return str.matches(IS_FULL_KANA);
		} else {
			return false;
		}
	}

	/**
	 * 全角カタカナチェック(一部)
	 *
	 * 全角カタカナを含むかをチェックする
	 *
	 * @param str チェック対象の文字列
	 * @return true:全角カタカナを含む  false:全角カタカナを含まない
	 */
	public static boolean hasFullKana(String str) {
		if (!isEmpty(str)) {
			return str.matches(HAS_FULL_KANA);
		} else {
			return false;
		}
	}

	/**
	 * 半角カタカナチェック(全て)
	 *
	 * 全て半角カタカナであるかどうかをチェックする
	 *
	 * @param str チェック対象の文字列
	 * @return true:全て半角カタカナ  false:半角カタカナ以外の文字が含まれている
	 */
	public static boolean isHalfKana(String str) {
		if (!isEmpty(str)) {
			return str.matches(IS_HALF_KANA);
		} else {
			return false;
		}
	}

	/**
	 * 半角カタカナチェック(一部)
	 *
	 * 半角カタカナを含むかをチェックする
	 *
	 * @param str チェック対象の文字列
	 * @return true:半角カタカナを含む  false:半角カタカナを含まない
	 */
	public static boolean hasHalfKana(String str) {
		if (!isEmpty(str)) {
			return str.matches(HAS_HALF_KANA);
		} else {
			return false;
		}
	}
}

にほんブログ村 IT技術ブログ Javaへ

テストコード

テストコードと実行結果については、以下の通りです。

[テストコード]

	public static void main(String[] args) throws Exception {

		System.out.println("StringUtil.isFullKana");
		System.out.println(StringUtil.isFullKana("  ")); //半角スペース
		System.out.println(StringUtil.isFullKana("A")); //半角英字
		System.out.println(StringUtil.isFullKana("11")); //半角数字
		System.out.println(StringUtil.isFullKana("カナ")); //半角カナ
		System.out.println(StringUtil.isFullKana("カナAA")); //半角カナ、半角文字混合
		System.out.println(StringUtil.isFullKana(null));
		System.out.println(StringUtil.isFullKana(""));
		System.out.println(StringUtil.isFullKana("AA"));//英字、半角全角混合
		System.out.println(StringUtil.isFullKana("A")); //全角英字
		System.out.println(StringUtil.isFullKana("1")); //全角数字
		System.out.println(StringUtil.isFullKana(" ")); //全角スペース
		System.out.println(StringUtil.isFullKana("漢字")); //全角漢字
		System.out.println(StringUtil.isFullKana("AA")); //全角英字
		System.out.println(StringUtil.isFullKana("カナ11")); //全角カナ、数字混合
		System.out.println(StringUtil.isFullKana("カナカナ")); //全角カナ、半角カナ混合
		System.out.println(StringUtil.isFullKana("カナ")); //全角カナ

		System.out.println("StringUtil.hasFullKana");
		System.out.println(StringUtil.hasFullKana("  ")); //半角スペース
		System.out.println(StringUtil.hasFullKana("A")); //半角英字
		System.out.println(StringUtil.hasFullKana("11")); //半角数字
		System.out.println(StringUtil.hasFullKana("カナ")); //半角カナ
		System.out.println(StringUtil.hasFullKana("カナAA")); //半角カナ、半角文字混合
		System.out.println(StringUtil.hasFullKana(null));
		System.out.println(StringUtil.hasFullKana(""));
		System.out.println(StringUtil.hasFullKana("AA"));//英字、半角全角混合
		System.out.println(StringUtil.hasFullKana("A")); //全角英字
		System.out.println(StringUtil.hasFullKana("1")); //全角数字
		System.out.println(StringUtil.hasFullKana(" ")); //全角スペース
		System.out.println(StringUtil.hasFullKana("漢字")); //全角漢字
		System.out.println(StringUtil.hasFullKana("AA")); //全角英字
		System.out.println(StringUtil.hasFullKana("カナ11")); //全角カナ、数字混合
		System.out.println(StringUtil.hasFullKana("カナカナ")); //全角カナ、半角カナ混合
		System.out.println(StringUtil.hasFullKana("カナ")); //全角カナ

		System.out.println("StringUtil.isHalfKana");
		System.out.println(StringUtil.isHalfKana("  ")); //半角スペース
		System.out.println(StringUtil.isHalfKana("A")); //半角英字
		System.out.println(StringUtil.isHalfKana("11")); //半角数字
		System.out.println(StringUtil.isHalfKana("カナ")); //半角カナ
		System.out.println(StringUtil.isHalfKana("カナAA")); //半角カナ、半角文字混合
		System.out.println(StringUtil.isHalfKana(null));
		System.out.println(StringUtil.isHalfKana(""));
		System.out.println(StringUtil.isHalfKana("AA"));//英字、半角全角混合
		System.out.println(StringUtil.isHalfKana("A")); //全角英字
		System.out.println(StringUtil.isHalfKana("1")); //全角数字
		System.out.println(StringUtil.isHalfKana(" ")); //全角スペース
		System.out.println(StringUtil.isHalfKana("漢字")); //全角漢字
		System.out.println(StringUtil.isHalfKana("AA")); //全角英字
		System.out.println(StringUtil.isHalfKana("カナ11")); //全角カナ、数字混合
		System.out.println(StringUtil.isHalfKana("カナカナ")); //全角カナ、半角カナ混合
		System.out.println(StringUtil.isHalfKana("カナ")); //全角カナ

		System.out.println("StringUtil.hasHalfKana");
		System.out.println(StringUtil.hasHalfKana("  ")); //半角スペース
		System.out.println(StringUtil.hasHalfKana("A")); //半角英字
		System.out.println(StringUtil.hasHalfKana("11")); //半角数字
		System.out.println(StringUtil.hasHalfKana("カナ")); //半角カナ
		System.out.println(StringUtil.hasHalfKana("カナAA")); //半角カナ、半角文字混合
		System.out.println(StringUtil.hasHalfKana(null));
		System.out.println(StringUtil.hasHalfKana(""));
		System.out.println(StringUtil.hasHalfKana("AA"));//英字、半角全角混合
		System.out.println(StringUtil.hasHalfKana("A")); //全角英字
		System.out.println(StringUtil.hasHalfKana("1")); //全角数字
		System.out.println(StringUtil.hasHalfKana(" ")); //全角スペース
		System.out.println(StringUtil.hasHalfKana("漢字")); //全角漢字
		System.out.println(StringUtil.hasHalfKana("AA")); //全角英字
		System.out.println(StringUtil.hasHalfKana("カナ11")); //全角カナ、数字混合
		System.out.println(StringUtil.hasHalfKana("カナカナ")); //全角カナ、半角カナ混合
		System.out.println(StringUtil.hasHalfKana("カナ")); //全角カナ
	}


実行結果

[実行結果]

StringUtil.isFullKana
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
true
StringUtil.hasFullKana
false
false
false
false
false
false
false
false
false
false
false
false
false
true
true
true
StringUtil.isHalfKana
false
false
false
true
false
false
false
false
false
false
false
false
false
false
false
false
StringUtil.hasHalfKana
false
false
false
true
true
false
false
false
false
false
false
false
false
false
true
false


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です