PHP メール正規表現のコードは次のとおりです:

/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/

例

<?php $mail = 'サンプル@example.com'; //メールアドレス $pattern = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/"; preg_match($pattern, $mail, $matches); var_dump($matches); //マッチング結果を出力 ?>

上記のコードを実行した出力結果は次のとおりです:

array(4) {
  [0]=>
  string(17) "サンプル@example.com"
  [1]=>
  string(0) ""
  [2]=>
  string(0) ""
  [3]=>
  string(4) ".com"
}

FILTER_VALIDATE_EMAIL フィルタを使用

例

<?php $email = 'サンプル@example.com'; //メールアドレス if (filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailMsg = "正しいメール形式"; } else { $emailMsg = "無効なメール形式"; } echo $emailMsg;