アプリ版:「スタンプのみでお礼する」機能のリリースについて

アンケートのCGIを作製しています。
それで、送信のボタンを押したときに、
入力欄に外字及び半角カナが入っていたらエラーのalertを出すといったものをするにはどうすればよいでしょうか?(どうするのがスマートでしょうか?)
サンプル等教えていただけるとありがたいです。
なお、
・未入力の場合alertあげる方法は実装しています。
・画面の文字コードはSJISです。

A 回答 (3件)

再び回答です。


全角文字をチェックする手法を流用すればできると思ったのですが。。。

いったん、ユニコードからSJISに変換してから、チェックする手法も考えられます。
(前提として、外字かそうでないかのチェックを JIS X 0208 の区で行うと想定しています。使用するOSや業界によって外字の定義も変わってくるので注意が必要です。)

そうすると、許容する文字の文字コードを大量に持つ必要はなくなります。

ただ、ユニコードからSJISへの変換方法がスマートでなくなるんですが。。。。

方法は、下記の私の質問を参考にしてください。
かなりトリッキーです。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=194676
    • good
    • 0
この回答へのお礼

補足回答ありがとうございます。

ちょっと方法の書いてあるページ読みました。トリッキーですね~。(笑

共通の外部ファイルにチェック関数を出して...という方法を考えると、ちとつらいっすね。

方法として、スマートな方法あきらめました。力技でいきます。

丁寧な御回答ありがとうございました。

お礼日時:2003/06/23 10:00

IEの最近のバージョンのものは画面の文字コードに関わらず、内部コードはユニコードを使っています。


ですので、あまりスマートな方法は思い浮かびません。
一応、以下のページでサンプルを発見したので参考にしてみては?

http://member.nifty.ne.jp/marsh/misya/java/lib_f …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
> IEの最近のバージョンのものは画面の文字コードに関わらず、内部コードはユニコードを使っています。

やっぱりそうなんですね。。。
環境として、IE6で動くという前提なので、ユニコードになります。
このサンプルのページを見たんですが、やはり半角カナのチェックでおわっているようですね。。。
該当する分の文字のコードをすべて持たせて...
というのが確実といえば確実なんですね...。

お礼日時:2003/06/19 11:41

半角カナ文字のチェックなら、以下でできるかと。



var strTarget = frm1.txt1.value;
for(var i=0; i < strTarget.length; i++)
{
var strBuff = escape(strTarget.charAt(i));
//IE
if(navigator.appName.indexOf("Internet Explorer") && strBuff.length == 6 && strBuff.indexOf("%uFF") != -1)
{
alert("半角カナ文字あり!");
}
//NN
else if(navigator.appName.indexOf("Netscape") && dore.length==3 && dore.indexOf("%")!=-1)
{
alert("半角カナ文字あり!");
}
}
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
半角カナはこれでばっちりです。

が、やっぱり外字判定は難しいんですね...
CGI側でやったほうがいいんでしょうか...。

お礼日時:2003/06/19 11:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!