1つだけ過去を変えられるとしたら?

こんにちは。
よく掲示板の迷惑書き込み対策などで、

if ($in{'comment'} !~ /(\x82[\x9F-\xF2])|(\x83[\x40-\x96])/) {
&error("日本語を書いてください。");}

というのがあります。
これは、ひらがなかカタカナが入っていない書き込みをするとエラーとなるようにしているものだと思うのですが、これを「アルファベットが入っていたらエラーとなる」ようにするにはこの文字コード?のようなものをどのように指定したらいいでしょうか。

アンケートのようなCGIで、アルファベットのみを無秩序に羅列したスパムに困っているのですが、漢字のみの投稿がある可能性があり、「ひらがな・カタカナが入っていない」を条件にすると困ることがあります。
逆に、普通に投稿する場合だったらアルファベットが入ることはありえないタイプのアンケートなので、a~z、A~Zが入っていたらエラーになるようにしたいと思っています。

よろしくお願いします。

A 回答 (1件)

正規表現で調べてごらん


その例文のやつは正規表現だけどアルファベットを検知する方が書き方は簡単だから。

http://www.kt.rim.or.jp/~kbk/regex/regex.html

この回答への補足

ありがとうございます。正規表現というのですね。
かなり難しい内容だったので理解できているか不安ですが…
if ($in{'comment'} =~ /[a-zA-Z]/) {
&error("日本語を書いてください。");}
これで合ってますでしょうか。

補足日時:2009/07/03 18:17
    • good
    • 0
この回答へのお礼

なんとかできたようです。
ありがとうございました。

お礼日時:2009/07/10 03:21

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