Java 半角英数字を判定する方法 – クラス String
Javaで半角英数字を判定する方法です。
画面で入力された値が、半角英数字かどうかをチェックするのは、実務ではよくあることですね。プログラミングの基本である文字列操作ですが、ここでは 指定された文字列が半角英数字か否かをチェックする方法 を紹介します。
半角英数字を判定する
半角英数字(記号含む)か否かを判定するサンプルです。
/**
* 指定された文字列が、半角英数字(記号含む)か否かを返します。
*
* @param value 処理対象となる文字列
* @return true:半角英数字である(もしくは対象文字がない), false:半角英数字でない
*/
public static Boolean isHalfWidthAlphanumeric(String value) {
if ( value == null || value.length() == 0 )
return true;
int len = value.length();
byte[] bytes = value.getBytes();
if ( len != bytes.length )
return false;
return true;
}
文字数の長さはlength
プロパティによって取得することができますが、日本語も1文字としてカウントされてしまいます。そこで、getBytes
プロパティと比較し、同じかどうかをチェックしています。
以下のテストを実行すると・・・
System.out.println(StringUtils.isHalfWidthAlphanumeric(null));
System.out.println(StringUtils.isHalfWidthAlphanumeric("saka-en1234"));
System.out.println(StringUtils.isHalfWidthAlphanumeric("さかえん1234"));
System.out.println(StringUtils.isHalfWidthAlphanumeric("サカエン1234"));
System.out.println(StringUtils.isHalfWidthAlphanumeric("saka-enさかえん"));
結果は以下の通りです。
true
true
false
false
false
まとめ
おつかれさまでした。