PHPerは正規表現を書かなくてもメールアドレスのチェックが出来るってホント?

PHPerは正規表現を書かなくてもメールアドレスのチェックが出来るってホント?

PHP

PHPでメールアドレスとURLのチェックに正規表現を使うな

へー、って思ったので実際に調べてみた

EMAILをチェックするときの書き方

正しければ、値がそのまま返り、間違っていればfalseが返ります

RF2822準拠しているメールアドレスをチェックしている?

懐かしいですが、404 Blog Not Found:「PHP使いはもう正規表現をblogに書くな」と言わせないでくれから例をいただきます

docomoの残念なアドレスを相手にする必要がある企業のサイトなんかだと使えないかもしれないですね

速度比較

filter_varと正規表現を100回実行したときの速度を比較してみる

速度は圧倒的にfilter_varが早いですね。

正規表現が間違えてました!
PHPでwarningが出ていた為に遅かったようです

正規表現が動かない件はここにも書いてありました
小飼弾様、正規表現の件、やってみたけどできません | Others | ウェビンブログ

というわけで

この結果でいい人は使うといいと思います

受託だとそれぞれ変なルールがあって難しい気が \(^o^)/

速度はほぼ同じ&正規表現ならルールも案件にあわせて変更可能ということで、filter_varの出番はなさそうですね