PHP メール正規表現のコードは次のとおりです:
/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/
例
$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 フィルタを使用
例
$email = 'サンプル@example.com'; //メールアドレス
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailMsg = "正しいメール形式";
} else {
$emailMsg = "無効なメール形式";
}
echo $emailMsg;