- 締切済み
@が必須の入力フォーム
お世話になります。 お問合せフォームとかで、メールの入力項目欄の中でこれがメールアドレスであると認識するために @が入ってないと送信できないものってありますよね。 あれってどうやってそのようになってるのでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- ORUKA1951
- ベストアンサー率45% (5062/11036)
メールアドレスが実在するかしないかは兎も角、メールアドレスとして正統な物か否かは、正規表現でチェックできます。 受信するCGI側で、モジュールEmail::Valid( http://search.cpan.org/search?dist=Email-Valid ) )または、モジュールMail::CheckUser( http://search.cpan.org/search?dist=Mail-CheckUser )を使うのが一般的だと思いますが、 ⇒メールアドレスの正規表現( http://www.din.or.jp/~ohzaki/mail_regex.htm ) のようなスクリプトを使うこともできます。 また、ごく簡単に済ますなら・・・単純に $mail_pattern = '(^[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,4}$|^$)'; とかで調べて済ます方法もあります。 詳しくは ⇒Perlメモ( http://www.din.or.jp/~ohzaki/perl.htm#Mail ) など・・
- yambejp
- ベストアンサー率51% (3827/7415)
いわゆる「バリデート」という処理ですね ちなみに事前に検証して「送らない」処理をいれても、 実際にはユーザーが不正をしたり、環境によってはチェックを素通りしたりします。 ユーザーから送られてくるデータは「常に正しくない」ものと考えてください。 したがってサーバー側でもクライアント側でおこなったデータの検証と同等のことを 行う必要があるという認識をもってください
html4.01まではjavascriptで制御 HTML5からは<form>タグで自動対応しています。 下記サイトなどで解説しています。
お礼
参考サイトありがとうございます。確認してみます。
- t_ohta
- ベストアンサー率38% (5292/13827)
CGIまたはJavaScriptで正規表現を使って入力された文字のパターンチェックを行い、一定の法則(@が入っているか、@の左右にアルファベットがあるか、@の右側に「.」が含まれているか)に従っていない場合はエラーとしています。 メールアドレス 正規表現 といったキーワードで検索するといろいろ出てくると思います。
お礼
メールアドレス 正規表現ですね。ありがとうございます。
お礼
バリデートですか?初めて聞きました。調べてみます。 ご回答ありがとうございました。