JavaScriptを使用してメールのドメインを検証する方法


メールのドメインを検証するためには、いくつかの方法があります。以下に、いくつかの一般的な方法を示します。

  1. 正規表現を使用したドメインのバリデーション:

    function validateEmailDomain(email) {
     // メールアドレスからドメイン部分を抽出します
     var domain = email.split('@')[1];
    
     // ドメインのバリデーションに使用する正規表現パターン
     var domainPattern = /^[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
    
     // 正規表現パターンと一致するかどうかを確認します
     return domainPattern.test(domain);
    }
    // 使用例
    var email = '[email protected]';
    if (validateEmailDomain(email)) {
     console.log('有効なドメインです');
    } else {
     console.log('無効なドメインです');
    }
  2. DNSのクエリを使用したドメインのバリデーション:

    async function validateEmailDomain(email) {
     // メールアドレスからドメイン部分を抽出します
     var domain = email.split('@')[1];
    
     // DNSのクエリを実行して、ドメインの存在を確認します
     try {
       await fetch(`https://dns.google/resolve?name=${domain}`);
       return true;
     } catch (error) {
       return false;
     }
    }
    // 使用例
    var email = '[email protected]';
    validateEmailDomain(email)
     .then(result => {
       if (result) {
         console.log('有効なドメインです');
       } else {
         console.log('無効なドメインです');
       }
     })
     .catch(error => {
       console.error('バリデーションエラー:', error);
     });

これらは一般的な方法ですが、実際の要件に応じてカスタマイズすることができます。メールのドメインのバリデーションには、正規表現を使用する方法やDNSクエリを使用する方法など、さまざまなアプローチがあります。また、このコード例はサーバーサイドとクライアントサイドの両方で使用することができます。