• 締切済み

@が必須の入力フォーム

お世話になります。 お問合せフォームとかで、メールの入力項目欄の中でこれがメールアドレスであると認識するために @が入ってないと送信できないものってありますよね。 あれってどうやってそのようになってるのでしょうか?

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.4

メールアドレスが実在するかしないかは兎も角、メールアドレスとして正統な物か否かは、正規表現でチェックできます。 受信する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)
回答No.3

いわゆる「バリデート」という処理ですね ちなみに事前に検証して「送らない」処理をいれても、 実際にはユーザーが不正をしたり、環境によってはチェックを素通りしたりします。 ユーザーから送られてくるデータは「常に正しくない」ものと考えてください。 したがってサーバー側でもクライアント側でおこなったデータの検証と同等のことを 行う必要があるという認識をもってください

worker001
質問者

お礼

バリデートですか?初めて聞きました。調べてみます。 ご回答ありがとうございました。

noname#206842
noname#206842
回答No.2

html4.01まではjavascriptで制御 HTML5からは<form>タグで自動対応しています。 下記サイトなどで解説しています。

参考URL:
http://www.tohoho-web.com/js/form.htm
worker001
質問者

お礼

参考サイトありがとうございます。確認してみます。

  • t_ohta
  • ベストアンサー率38% (5292/13827)
回答No.1

CGIまたはJavaScriptで正規表現を使って入力された文字のパターンチェックを行い、一定の法則(@が入っているか、@の左右にアルファベットがあるか、@の右側に「.」が含まれているか)に従っていない場合はエラーとしています。 メールアドレス 正規表現 といったキーワードで検索するといろいろ出てくると思います。

worker001
質問者

お礼

メールアドレス 正規表現ですね。ありがとうございます。