人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

TomcatでWebから入力された文字列をJavaで半角文字以外の文字列が入ってるかチェックしたいと思います。
やり方はいろいろ考えられるのですが(Byteでチェックとか)どれが一番standardなんでしょう?
日本語だけの問題?だからかあまりこれだっていうやり方が無い気がしたので・・。これ以外はcommonsのLangなどを参考に出来るんですが。
これが一番無難じゃないかという方法があれば教えてください。ただしJavaScriptやVBScriptなどJava以外のやり方は対象外でお願いします。

●質問者: matttsu
●カテゴリ:コンピュータ インターネット
✍キーワード:byte commons Java JavaScript Tomcat
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

[1]正規表現は? tadashi0805

記号が含まれると、正規表現パターンを作るのが面倒ですが、半角英数だけなら[¥p{Alnum}]+とかの正規表現の否定でjava.util.regex()でマッチさせれば、半角英数以外の文字が入っているかどうかがわかると思います。

半角記号がOKでも、必要な分列挙すれば、一応表現できますね。


[2]>1 質問 matttsu

正規表現は確かに有効な方法だと思います。

ただ全角文字以外という条件のため

「必要な分列挙」ってのが大変かなと・・・。

こういう日本語のためのライブラリとかが用意されていればなぁ。

アメリカでも全角文字が使われてたら絶対CommonsのLangとかに含まれてそうですが。

みなさん、必要になったらそのたびコーディングしてるんでしょうか?

かなり需要がありそうな関数だと思うのですが・・。


[3]java.lang.Character.UnicodeBlock oldriver

半角がいわゆるASCII文字の範囲ならjava.lang.Character.UnicodeBlock クラスで文字の種類を(BASIC_LATINかどうか)判別するのがキレイな方法かなと思います。

ただ、半角カナと全角英数は同じUnodeブロックに入ってるのでこの方法では判別できませんね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ