B-Teck!

お仕事からゲームまで幅広く

【Java】半角カナ判定

正規表現

  • U+FF65「・」(半角カナ中黒)~U+FF9F「゚」(半角半濁点)の範囲で判定する。

細かい各メソッドの挙動とかは下記を参照。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/regex/Pattern.html
https://docs.oracle.com/javase/jp/8/docs/api/java/util/regex/Matcher.html

    /**
     * 半角カナチェック
     * 半角カナ以外を含む文字列の場合false
     * 
     * @param String value 判定対象文字列
     * @return boolean true:半角カナ、false:半角カナ以外
     */
    public static boolean isHankakuKana(String value) {
        return    java.util.regex.Pattern
                        .compile("^[\\uFF65-\\uFF9F]+$")
                        // "-"(半角ハイフン)をOKにしたい場合は下記
                        // .compile("^[\\uFF65-\\uFF9F\\s-]+$")
                        .matcher(value)
                        .matches();
    }
    
    //       java.util.regex.Pattern
    //       java.util.regex.Matcher
    //       の2つをimportした状態で下記の処理を行う場合と同等
    //
    //        Pattern pattern = Pattern.compile("^[\\uFF65-\\uFF9F\\s-]+$");
    //        Matcher matcher = pattern.matcher(value);
    //        return matcher.matches();