ユーザ名の入力など、半角英数のみしか使わせたくない場面があります。そんなとき、入力された文字列に半角英数以外があるかどうかをどうやって判別すれば良いでしょうか?
にしし ふぁくとりー

にししの Perl/CGI Tips ふぁくとりー

にししふぁくとりーPerl/CGI Tips → このページ

文字列操作関連TIPS

半角英数以外の文字を判別するには?

ユーザID作成フォームやパスワード入力欄などで、半角英数以外の文字を入力させたくない場合があります。 そんなとき、ユーザが入力した文字列に半角英数以外の文字が含まれているかどうか、どうやって判別すれば良いでしょうか?

Perl SOURCE 1

「半角英数以外」は、正規表現で非常に簡単に判別できます。
if( $userinput =~ m/\W+/ ) {
   print "半角英数以外の文字があります。\n";
}
ユーザの入力文字列を、変数 $userinput に格納しているとします。
正規表現中で使用する「 \W 」は、半角英数以外の文字に一致します。 正確には「単語構成文字以外」に一致します。単語構成文字とは、アルファベット・数字・アンダーバーです。 (ですから、ここでは、アンダーバーには一致しないことになります。)

SAMPLE SOURCE

ソースコード18 , 出力結果18
2004/03/06. Sat.

このページに記載の内容は、必ずしも正しいとは限りません。ご注意下さい。
もっと良い方法がありましたら、ぜひ、教えて頂けるとありがたいです。
製作者にししへのご連絡は、メールなどでお送り下さい。匿名のコメントも送信できます。
どのページへもリンクは歓迎します。複製・転載はご遠慮下さい。