- ベストアンサー
文字列の中に2バイトが含まれているか調べたい
文字列の中に、2バイト(つまり全角)が含まれているかどうかを調べたいです。 VBなどでは、LenB(StrConv(Value, vbFromUnicode))とかで、調べられるのですが、Pealではどのような関数を用いれば良いでしょうか・ 最適な関数、あるいは手法があれば、教えてくださいませ。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
正規表現で7bitコード以外の文字の有無を判定すればよいと思います。 if($str =~ /[\x80-\xff]/){ print "全角文字有り!"; }else{ print "全角文字なし"; } ただし欧文の特殊な文字と日本語コードでかぶる部分もありますので、欧文を誤判定する可能性を回避することはできないと思います。
お礼
この処理の理由は、外国からの英語イタズラ投稿(掲示板への)を防止させたかったからです。 いただいたコードでバッチリできました! ありがとうございました。