ホームページ > バックエンド開発 > PHPチュートリアル > 最新の PHP で電子メール アドレスを確実に検証するにはどうすればよいですか?

最新の PHP で電子メール アドレスを確実に検証するにはどうすればよいですか?

DDD
リリース: 2024-12-11 17:23:11
オリジナル
501 人が閲覧しました

How Can I Reliably Validate Email Addresses in Modern PHP?

PHP での電子メール検証: 最新のアプローチ

PHP を使用する場合、データの整合性を確保するにはユーザー入力を検証することが重要です。一般的な検証タスクの 1 つは、電子メール アドレスの検証です。ここでは、PHP を使用した電子メール検証のシンプルで信頼性の高い方法を示します。

電子メール検証に filter_var() を利用する

filter_var() 関数は、電子メール アドレスを検証する便利な方法を提供します。 :

$isValid = filter_var($email, FILTER_VALIDATE_EMAIL);
ログイン後にコピー

この関数は、入力文字列が有効な電子メール アドレスの場合は true を返し、そうでない場合は false を返します。

ereg() の廃止と preg_match() への置き換え

古いバージョンの PHP では、正規表現のマッチングに ereg() が使用されていました。ただし、PHP 5.3 以降では非推奨となり、preg_match():

if (preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $email)) {
    return true;
}
ログイン後にコピー

この正規表現で次のものがチェックされます:

  • Characters (a-z, 0-9, _) 、 -)
  • ピリオド (.) で区切る文字
  • 「@」記号
  • ドメイン名 (文字のような文字の後にオプションのピリオドと 2 ~ 3 文字の TLD)

その他の考慮事項

  • ケース機密性: 電子メール アドレスでは大文字と小文字が区別されないことに注意してください。
  • TLD 検証: デフォルトでは、PHP の filter_var() はトップレベル ドメイン (TLD) の存在を検証しません。ドメイン名に。必要に応じて、これに対する正規表現チェックを追加できます。
  • エンコーディング: 電子メールに非 ASCII 文字が含まれることが予想される場合は、IDNA 拡張機能または他の Unicode 対応ライブラリの使用を検討してください。

以上が最新の PHP で電子メール アドレスを確実に検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート