ホームページ  >  記事  >  バックエンド開発  >  電子メールのドメイン名の有効性を検証するための PHP 正規表現

電子メールのドメイン名の有効性を検証するための PHP 正規表現

WBOY
WBOYオリジナル
2023-06-24 09:09:161257ブラウズ

インターネットの発展と普及により、電子メールは人々の日常の仕事や生活に欠かせないものになりました。ただし、電子メール ドメイン名の有効性とセキュリティを確保するには、そのドメイン名に対して特定の検証を実行する必要があります。この記事では、PHP 正規表現をベースとして、電子メール ドメイン名の有効性を確認する方法を紹介します。

  1. 電子メール ドメイン名の構成

電子メール ドメイン名の有効性を検証する前に、電子メール ドメイン名の構成を知る必要があります。一般にメールはメール名とドメイン名の2つの部分で構成されており、メール名は「@」記号で区切られ、ドメイン名は「@」記号以降の部分で構成されます。たとえば、example@mail.com の場合、電子メール アドレスは example で、ドメイン名は mail.com です。

  1. 電子メール ドメイン名の有効性を確認する方法

PHP では、正規表現を使用して電子メール ドメイン名を確認できます。以下は、電子メール ドメイン名を検証するための基本的な正規表現の例です。

if(preg_match('/^(([a-zA-Z0-9_-])+.)*[a-zA-Z0-9_-]+.([a-zA-Z]{2,6})$/', $email_domain)) {
    // 邮箱域名格式正确
} else {
    // 邮箱域名格式错误
}

上記の正規表現では、「^」および「$」修飾子で囲まれた部分は、正規表現のすべての要件が満たされている必要があることを示しています。満たされていない場合、検証は失敗します。具体的には、正規表現は次のように解析されます:

  • "^" は正規表現の先頭を表します;
  • "(([a-zA-Z0-9_-]) .)" はドメイン名の先頭部分を表します (複数の文字、数字、アンダースコア、またはダッシュで構成でき、各部分は「.」で区切られます)。ここで、「」は先頭部分が0 回または複数回表示されます;
  • 「[a-zA-Z0-9_-]」はドメイン名の最後の部分 (文字、数字、アンダースコアまたはアンダースコアで構成されます);
  • 「.( [a-zA-Z]{2,6})」はドメイン名のサフィックス (.com、.cn など) を表し、「.」は「.」記号を表し、「 [a-zA-Z]{2 ,6}" は、ドメイン名のサフィックスが 2 ~ 6 文字 (大文字と小文字の両方) で構成されている必要があることを意味します。

上記の分析によると、この正規表現は、次の要件を満たすドメイン名を検証できることがわかります:

  • ドメイン名は複数の文字、数字、アンダースコア、またはダッシュで構成されており、中間の区切り文字は「.」です。
  • ドメイン名の最後の部分は 2 ~ 6 文字で構成され、正当なドメイン名のサフィックスです。
  1. 電子メールの有効性検証の実装

上記の正規表現に基づいて、電子メール ドメイン名の有効性を検証する PHP 関数を作成できます。具体的な実装コードは次のとおりです。

function validate_email_domain($email) {
    $email_parts = explode('@', $email);
    $email_domain = $email_parts[1];
    if(preg_match('/^(([a-zA-Z0-9_-])+.)*[a-zA-Z0-9_-]+.([a-zA-Z]{2,6})$/', $email_domain)) {
        return true;
    } else {
        return false;
    }
}

この関数の実装には、次の 2 つの手順が含まれます。

  • まず、「explode()」関数を使用して電子メール名を区切ります。およびドメイン名の部分;
  • 次に、上記の正規表現を呼び出して電子メールのドメイン名を検証します。検証が成功した場合は true を返し、失敗した場合は false を返します。
  1. 概要

この記事の導入部を通じて、PHP 正規表現に基づいて電子メール ドメイン名の有効性を検証する方法を学習しました。上記の関数を記述することで、PHP プロジェクトで電子メール ドメイン名の有効性チェックを簡単に実装でき、不正なドメイン名によって引き起こされる登録、ログイン、その他の問題を回避できます。同時に、読者はこの記事の方法を他の言語のプロジェクトに適用して、電子メール ドメイン名の有効性を検証することもできます。

以上が電子メールのドメイン名の有効性を検証するための PHP 正規表現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。