独立系プログラマーのノウハウ

メールアドレスの形式チェックは「filter_var関数」と「input type="email"」のどちらが良いですか?

メールアドレスの形式チェックは「filter_var関数」と「input type="email"」のどちらが良いですか?

メールアドレスとして認識できるかどうかを判定する場合、次のどちらを利用した方がよろしいでしょうか?「1. PHP側でfilter_var関数を用いる」、「2. html側でinput type="email"と記載する」

 


input type="email"は、HTML5から導入された機能のため、
古いブラウザでは動作しない場合があります。

また、厳密に言うと、1は「サーバー側」でのチェック処理であり
2は「クライアント側(ブラウザ)」でのチェック処理となります。

2はサーバーと通信せずにチェックを行うことが出来るため、
無駄な通信が発生せず、動作がスピーディですが
偽装データが送信されたりした場合にチェックを通り抜けてしまいます。

そのため、2→1と二重のチェックを書けておくのが最善策です。

この記事を読んだ人はこんな記事も読んでいます。