下記、正規表現は本当に簡単なチェックで、厳密なチェックをしたい場合は別途検索エンジンなどで調べた方がいいでしょう。参考として、
PHPでメールアドレスかどうか調べる方法や、
こちらのページで紹介されているようなメールアドレスの正規表現が存在します。
あくまで簡易なので、厳密な正規表現を書きたい方は、小飼弾さんのブログを参照するのが良いかもしれません→メールアドレスの正しい正規表現
<?php
$text = "mail@mail.com";
if (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $text)) {
echo "正しいメールアドレスかもしれません";
} else {
echo "正しくないメールアドレスではないかもしれません";
}
?>
[正しいメールアドレスです]が出力されます。
関数版
<?php
function is_mail($text) {
if (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $text)) {
return TRUE;
} else {
return FALSE;
}
}
?>
正規表現の説明をすると、preg_match 内では、[a-zA-Z0-9]のうち、どれかで始まり、その文字が1文字以上続く、そしてその後に[a-zA-Z0-9\._-]が0文字以上続きます。
その後、@マークが来て [a-zA-Z0-9_-] の文字のうち、1文字以上が続きます。そして、[a-zA-Z0-9\._-]が1文字以上最後まで続くというものです。
不十分などあれば
メールにてご連絡ください。
尚、サービスとして公開する際には実際にメールが届くかどうかをチェックするなどしてメールの存在有無を確かめましょう。
正規表現を作成するにあたり、以下のブログを参考にさせて頂きました。
スポンサードリンク
PHP&正規表現