さて iPhoneでテザリングしながら、MacBook Proを成田エクスプレスの中でインターネットに接続して、色々調べている中で、PHPでのメールアドレス・チェックの関数の存在を知りました
今までは良くある手で、以下のようにしていました
if (strlen($_POST['email'])>64) $error.='Your Email is too long!<br />'; if (!mb_check_encoding($_POST['email'], 'UTF-8')) $error.='Your Email contains illegal characters!<br />'; $return = preg_match('/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/', $_POST['email']); if ($return == 0) $error .= "Your email is incorrect!<br>";
要するに 正規表現関数 preg_match()を用いて電子メールの文字列パターンをチェックしているのです
しかし、これを一発で行う関数が存在していたのです、それが
$email = filter_var($email, FILTER_VALIDATE_EMAIL); if (!$email) $error .= "Your email is not correct!<br>";
ということで簡単にできてしまいます。まあ内部的には preg_match()を使っているのでしょうが・・・
知りませんでした