CGI-BBS > CGI > Perl > 全角文字を探り出す方法


カレッヂ
カレッヂ


質問者 Octo  投稿日 7/9(月) 18:01:44
メールアドレスなど、半角文字限定のデータ入力欄で
全角文字が入力された場合、これをチェックするような方法は
ありますでしょうか。
おそらく正規表現で行うのだと思いますが・・・

よろしくお願いいたします。
回答者 しあわせのツボ  [削除]  投稿日 7/9(月) 19:54:41
「全角文字」を探すのは難しいですが、「メールアドレスにはあり得ない文字」を探すことで、全角で入力された可能性を調べることは可能です。
詳しくは以下を参照して下さい。
http://www.rescue.ne.jp/CGI-BBS/cgi/perl/20010704184829.shtml

メールアドレスに限らず、ということであれば
/[^\x00-\x7f]/
でチェックできると思います。
質問者 Octo  [削除]  投稿日 7/10(火) 09:08:57
$FORM{'email'} !~ /\b[-\w.]+@[-\w.]+\.[-\w]+\b/

・・・のことでしょうか?
この「\b」というのと、「-\w」のハイフンの意味がわからないのですが
これはなんでしょうか?
回答者 しあわせのツボ  [削除]  投稿日 7/10(火) 12:27:39
ハイフンはそのまま文字としてのハイフンです。
\bは調べると「単語の境界」とあるのですが、私もよく理解できていません。
質問者 Octo  [削除]  投稿日 7/18(水) 19:39:08
結局 /[^\x00-\x7f]/ で対処することにいたしました。
どうもありがとうございました。

このページは終了したので返信(回答)は書きこめません

Web裏技