• ベストアンサー

入力項目のチェック

<INPUT type=text size=30 name="氏名(漢字)"> で漢字の氏名を得た時に、漢字で入力されたかを チェックする方法には、どうしたいいのでしょうか? また同様に、ひらがなのチェックは? 郵便番号から、住所を検索して出力させるには どうしたらいいのでしょうか? (goo の郵便番号検索のような事をしたいのですが・・・)

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

  • ベストアンサー
  • syunpon
  • ベストアンサー率42% (9/21)
回答No.4

なるほど。そう言うことでしたか。。質問の意味を勘違いしてしまいました すみませんです。。(^^; で、やりたいことはひらがなと漢字のチェックで良いのかな?。。のようですね(^^; チェック方法はcallhiroさんのようなやり方で良いんではないかと思います。 この場合は2バイト文字の判定のようですね。。 これを漢字コードのひらがなの範囲にしてしまえば良いのではないかと。。。 ひらがなの範囲は漢字コード表とかに載ってますので調べてみてください たぶん、検索エンジン等で漢字コード表とか入力すれば出てくるんでないかな?(^^; ただし、漢字コードは何種類かあってコード体系によってコードが違う部分もあるので注意してください。 (コードによって同じ部分もある。この辺がややこしいところ(^^;) チェックルーチンに入る前にコード変換しておかないと意図した通りには動かないですよ チェックルーチンもどのコードを使ってるのか意識して使わないとだめです。 Winの場合はシフトJISが送られるようですが、UNIXマシンとかはUnicodeで送られるみたいです。 Macの場合は。。あぅ。。Macユーザなのにわからない。。(T^T) ちなみに日本語2バイト文字のコード体系には、JISコード、シフトJIS、Unicode、の三種類があります。 もしかしたら他にもあるかもしれないけど、大体一般的に使われてるのはこの3種類です。

pink-panther
質問者

お礼

有難うございます。 後は、自分で調べて何とかなると思います。 また、お願いします。

その他の回答 (3)

  • callhiro
  • ベストアンサー率35% (54/152)
回答No.3

僕は、自分のcgiの中で $moji = "[\201-\237\340-\374][\100-\176\200-\374]"; のように書いて、2バイト文字を定義して判別しています。 if($key_word !~ /$moji/){} とすれば、$key_wordが英数字である場合if文の中に入ります。 (忘れているので、あれ?これで良いのか?なんて今自分のスクリプト見ながら思ってますが、実際使ってます^^;) おそらくこの中に漢字もひらがなも含まれていると思いますので、 うまく漢字とひらがなを切り分けられればいいんですけどね。 何番から何番がどうだとかいう詳しい内容はちょっとわからないです。 あまり参考にならないかもしれませんが書いてみました。

pink-panther
質問者

補足

やっはり、こういった感じになってしまいますかね? もう少し詳しく知りたいです。 どこの範囲が「漢字」「ひらがな」「その他」なのか?

noname#86982
noname#86982
回答No.2

漢字・ひらがなのチェックはスクリプトを使用することで可能です。(もちろん、cgiでも可能です) 住所検索についても同様、スクリプトやcgiを使うことで可能になります。 cgiについてはsyunponさんが書いているようなので、スクリプトのほうについて…。 まずは、こちらが参考になるかと思います。

参考URL:
http://wakusei.cplaza.ne.jp/twn/wwwjs.htm
pink-panther
質問者

補足

有難うございます。 スクリプトを作成するときの参考にさせてもらいます。 ただ、どうしたら「漢字」「ひらがな」の判定が できるのか、そのサイトから探し出せませんでした。 すいません。

  • syunpon
  • ベストアンサー率42% (9/21)
回答No.1

えっと。。たぶん <INPUT type=text size=30 name="氏名(漢字)"> という記述からテキストボックスの入力について誤解されてると 思うんですが。。(^^; name="氏名(漢字)"なんですが、INPUTタグのname部分は ブラウザ側からCGIに送られてきたデータを識別するための名前を 記述する部分です。例えば以下のように記述したとします <INPUT type=text size=30 name=message> でこのように記述したとしてテキストエリアに「あ」と入力したとします。 するとブラウザ側(クライアント)からサーバへ以下 のようなテキストデータが送られます message=%A4%A2 messageがINPUTタグで記述した識別名です %A4%A2って部分が「あ」という文字の部分ですね 掲示板などのホームページでブラウザのアドレス部分に http://www.aaa.bbb.co.jp/~ccc.cgi?name=%A3%A4%C5%E3 のような文字が出てきたの見たこと無いですか? あれは、クライアントからサーバへテキストエリアに入力された 文字を送っているわけなんですね。 ちょっと説明が長くなってしまいましたね。。すみません(^^; 細かく説明するともっと長くなってしまいますのでCGIの基本的なことは 参考URLで勉強してみてください。で、わからない事があったら補足ください

参考URL:
http://www.tanasan.com/cgi/menu_cg.htm
pink-panther
質問者

補足

ごめんなさい 質問の書き方が悪かったようです。上の例でいうと 「あ」という字がひらがなで入力されたのかと チェックできないか?という事でした。 文字コードか何かで範囲判定すれば、いいと思うのですが こういったものを、チェックできる機能があればと思い 質問させて頂いています。

関連するQ&A