• 締切済み

JAVA Servlet での全角文字判定

JAVAでの文字列判定で、全角文字以外を入力した場合は、エラーとして扱いたいのですが、その方法がわかりません。 教えてください。よろしくお願いします。

  • Java
  • 回答数2
  • ありがとう数1

みんなの回答

  • imamu252
  • ベストアンサー率40% (2/5)
回答No.2

こんなんではいかんでしょうか? public class test { public static void main(String args[]) { String s = args[0]; char[] sc = s.toCharArray(); for ( int i=0; i<sc.length ; i++ ) { if (String.valueOf(sc[i]).getBytes().length < 2 ) { System.out.println("error:"); } else { System.out.println("sucess:"); } } } }

noname#99638
noname#99638
回答No.1

文字列から、1文字ずつ取り出して文字コードを調べるという方法が一番簡単そうです。 だけど、全角文字以外エラーというのは、種類が多すぎて大変そうです。 とりあえず、半角カナを判定する方法が過去の質問にありますので参考にしてみて下さい。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=183352

関連するQ&A

  • javaでの文字判定

    javaにおいて16進数文字判定はどのようにするのでしょうか? 例えばString文字列が16進数文字0-9,a-f,A-Fで構成されているかどうかを 判定するにはどのようにすれば良いのでしょうか? このString文字列の長さは事前には分からず、数文字かもしれないし 数百文字かもしれません c言語の場合だとchar配列xyz[]があって中身が"1234abc"の場合 isxdigit()を使ってループでisxdigit( xyz[i] )として1文字づつ判定しNUL文字が 出現すれば終了となるわけですがjavaの場合だとどうするのでしょう? Stringの場合、byte[]の場合、char[]の場合それぞれ教えてもらえると助かります。 よろしくお願いします。

    • ベストアンサー
    • Java
  • 全角、半角の判定について

    perlを使って、CGIを書いています。 アンケートのページの名前入力の欄などで、全角のみと指定がありますが、 ユーザーの入力した名前が日本語の全角でない場合、エラーにしたいと考えています。 perlを使って、変換、じゃなく入力したものが、日本語の全角かどうか調べることは可能なのでしょうか? もし、可能でない場合、一般のページのアンケートの全角エラー判定はどういう方法を用いているのでしょうか?

    • 締切済み
    • CGI
  • javaで「全角が含まれているか」のチェックメソッドを作るには?

    java初心者です。誰か教えて下さい。 javaのプログラミングで、文字列の中に全角が含まれているかどうか調べたい場合は、どう組めばよいのでしょう。 全角だと分からなくなってしまいます。 おねがいします。

    • ベストアンサー
    • Java
  • 全角文字の判定

    現在C言語を勉強しております。 そこで、キーボードから入力された文字列のチェックを行う関数を作成したいのですが、実装方法が分かりません・・・。 以下に仕様と私の作成したソースを貼ります。 【許可する文字】は、 全角のひらがな 全角の英語(大文字も小文字もOK) 全角の数字 です。 チェックする関数を作成したいのですが、以下ではうまくいかず・・・ 教えてくださいorz 比較の仕方がおかしいでしょうか? 関数は、引数として渡された文字列に許可以外の文字が含まれている場合は1を、そうでなければ0を返す、という仕様にしたいです。 int checkName(char *str) { int i; for(i = 0; str[i] != '\n'; i++){ /* 奇数バイトをチェック */ if(str[i] == 0x82){ i++; /* ひらがなの場合 */ if(str[i] >= 0xa0 && str[i] <= 0xf1) printf("ひらがな\n"); return 0; /* 英語(大文字)の場合 */ if(str[i] >= 0x60 && str[i] <= 0x79) printf("英語大\n"); return 0; /* 英語(小文字)の場合 */ if(str[i] >= 0x81 && str[i] <= 0x9a) printf("英語小\n"); return 0; /* 数字の場合 */ if(str[i] >= 0x50 && str[i] <= 0x58) printf("数字\n"); return 0; } return 1; } return 0; } 以上、よろしくお願いいたします。

  • 数字以外の文字列判定方法

    フォームで数字以外を入力した場合に、 エラーのアラートを出したいのですが、 その文字列の判定方法及び、アラートの 出し方がわかりません…。 ご存知の方は教えてください。 よろしくお願いします。

  • Excel VBAで文字列の日付を判定

    Excel VBAで文字列の日付を判定 文字列の書式で”19900101”などとセルに入力されている場合に実際に存在する日付かを判定する方法はありますでしょうか? たとえば、19990132などと入力されている場合はエラーにしたいのです。ISDATEを使うのかともおもいましたがうまくいきません。 よろしくお願いします。

  • 全角数値の判定

    教えて頂けますか? フォームからPOSTされた文字列が半角数値、または文字列の場合許可し、全角数値の場合拒否したいのですが 全角数値が is_numeric で数値として認識しない為 うまくいきません。 他に良い方法がありますか? よろしくおねがいします。 if ( strlen($_POST['test']) != mb_strlen($_POST['test'],'UTF-8') && is_numeric($_POST['test']) == TRUE ){ echo '半角で入力してください。<br />'; }

    • ベストアンサー
    • PHP
  • COBOLでの全角文字の判定をしたい。

    商品マスタの名称 X(80)には半角全角が混在しています。 ジャーナルファイルの商品名称はX(40)しかありません。 マスタから名称を設定するときに単純にX(80)→X(40)とするとちょうど文字の切れ目ならいいのですが、全角文字がまたがっていると文字化けしてしまいます。 そこで40バイト目が全角だったら 39バイトしか転送したくありません。 40バイト目が全角かどうか、どう判定すれば出来ますか?

  • JAVA で入力された文字の・・・・

    JAVAでJSPのテキストボックスに入力された文字列に、「全角スペース、半角スペース、¥t(タブ)、¥」が入っているかをチェックして、対象文字があれば削除する処理を行いたいのですが、どのようにすればよいのでしょうか?

  • Javaで文字を漢字であるか否かを判定する

    ある文字を、漢字であるかそれ以外であるかを判定したいです。Javaの標準でそのようなことは可能なのでしょうか。お手数をおかけしますが、宜しくお願い致します。

    • ベストアンサー
    • Java