メールアドレス書式チェック

CGIテクニック集トップへ





概要

メールアドレスの書式をチェックします。abc-cde.fg@hijk-lmn.comなど有効なメールアドレスになっているかを判断します。フォームメールで利用されています。

必用な処理

  1. メールアドレスパターンをパターンマッチでチェックする

サンプルコード

 my $mail_pattern = '^[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,4}$';
 
 if ($mailaddress !~ /$mail_pattern/){
     print '無効なメールアドレスです';
     exit;
 }

コードの解説

 my $mail_pattern = '^[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,4}$';

メールアドレスパターンを変数に保存します。これは必用ではありませんが後に複数チェックをする箇所がある場合に役に立ちます。

@の前に英数字、ドット、またはハイフンの文字列が一文字以上、@の後ろにも同じく英数字、ドット、またはハイフンの文字列が一文字以上、最後のドット以降に英字が二文字から4文字以内のみメールアドレスと判断します。

 if ($mailaddress !~ /$mail_pattern/){
     print '無効なメールアドレスです';
     exit;
 }

$mailaddressに入っているアドレスが$mail_patternにマッチしなければエラーメッセージと共にスクリプトを終了します。

関連するCGIテクニック

文中のURLを自動リンクする方法
URLのリンク先が有効かチェックする方法