概要
今回は、「全角文字」をチェックするサンプルコードを紹介します。
全て全角文字であった場合は”true”、1文字でも半角が含まれている場合はfalseを返すコードになっています。
文字コードをチェックする方法もあるかと思いますが、1文字ずつ繰り返しチェックしていませんので以下のように桁数とバイト数をチェックする方法の方が、メモリの使用量は削減できるのではないかと思います。
未入力チェックのサンプルコード
※isEmptyメソッドについては、過去に掲載した以下の内容です。↓↓↓
【未入力チェック】
/** * 全角文字チェック * * 全て全角文字であるかどうかをチェックする * * ※注意 * "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; } }
テストコードと実行結果については、以下の通りです。
[テストコード]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
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。
コメント