• ベストアンサー

IEにてシフト_JISに無い漢字を入力させない方法

現在、イントラネットにて開発を行っています IEにてシフト_JIS以外の漢字が入力できるので、困っています。 禁止する方法は、何かありませんか? ※シフト_JIS以外の漢字→環境依存文字(unicode) 森鷗外のおう ※ページは、charset=Shift_JISにて指定しています

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

特定の文字の入力を禁止する方法は無いので、文字列が入力されたら内容を調べて、内容がエラーなら入力画面に戻す処理をしましょう。 たぶん、必須項目を空欄のままでSUBMITされたら、エラーとして入力画面に戻す処理をしている筈なので、そこで「空欄だったら」の判定と一緒に「S_JISのコードに無かったら」と言う判定をすれば済むでしょう。 Javaでやっている限り、入力文字列は(String型変数に入って来た文字列は)常にUnicodeです。 入力された文字列を「S_JISに変換する」って関数に渡し、さらにそれを「Unicodeに変換する」って関数に渡して、元の文字列と同じ文字列に戻れば「半角ASCIIと、S_JISのみの漢字だけが入っている」って判ります。 S_JISに変換する関数、Unicodeに変換する関数は、汎用ライブラリとしてネット上に転がっているので探して下さい。 関数によっては「S_JISに変換」ってやっただけで、S_JISにない文字が入っているのが一発で判る関数もあります。

Koba5
質問者

お礼

chie65535さん コメントありがとうございます。 挑戦してみます

すると、全ての回答が全文表示されます。