【Javaサンプルコード】全角文字チェック

概要

今回は、「全角文字」をチェックするサンプルコードを紹介します。

全て全角文字であった場合は”true”、1文字でも半角が含まれている場合はfalseを返すコードになっています。

文字コードをチェックする方法もあるかと思いますが、1文字ずつ繰り返しチェックしていませんので以下のように桁数とバイト数をチェックする方法の方が、メモリの使用量は削減できるのではないかと思います。

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

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

【Javaサンプルコード】未入力チェック

	/**
	 * 全角文字チェック
	 *
	 * 全て全角文字であるかどうかをチェックする
	 *
	 * ※注意
	 * "UTF-8"の場合:param.length() * 3
	 * "Shift_JIS"の場合:param.length() * 2
	 *
	 * @param param チェック対象の文字列
	 * @return true:全て全角文字  false:半角が含まれている
	 */
	public static boolean isFullChar(String param) {

		try {
			if (!isEmpty(param) && (param.getBytes("UTF-8").length) == param.length() * 3) {
				return true;
			} else {
				return false;
			}
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
			return false;
		}
	}

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

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

[テストコード]

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

		System.out.println(StringUtil.isFullChar("  "));
		System.out.println(StringUtil.isFullChar("A"));
		System.out.println(StringUtil.isFullChar("11"));
		System.out.println(StringUtil.isFullChar("AA"));
		System.out.println(StringUtil.isFullChar(null));
		System.out.println(StringUtil.isFullChar(""));
		System.out.println(StringUtil.isFullChar("AA"));
		System.out.println(StringUtil.isFullChar("A")); //全角数字1文字
		System.out.println(StringUtil.isFullChar("1")); //全角英字2文字
		System.out.println(StringUtil.isFullChar(" ")); //全角スペース1文字
		System.out.println(StringUtil.isFullChar("11")); //全角数字2文字
		System.out.println(StringUtil.isFullChar("AA")); //全角英字2文字
		System.out.println(StringUtil.isFullChar("漢字")); //全角英字2文字
	}


[実行結果]

false
false
false
false
false
false
false
true
true
true
true
true
true

コメントを残す

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