7

重複の可能性:
Javascriptでメールアドレスを検証しますか?

正規表現だけを使用してメールアドレスを検証する方法はありませんが、名前やパスワードなど、誤って別の名前を入力したフレンドリーなユーザーを支援するために、明らかに無効なアドレスを拒否できるはずです。メールアドレスフィールド。したがって、有効な電子メールアドレスを拒否したくはありませんが、正規表現のみを使用して可能な限り多くの無効な電子メール形式を拒否したいと思います。しかし、javascript / jquery/...も大丈夫だと思います。

これが私がこれまでに持っているものです:

^.+@.+\..+$

はい、実際の検証には正規表現はありませんが、拒否するための正規表現があるはずです。いいえ、これによってだれもが偽のアドレスを入力するのを防ぐことはできません。はい、実際に検証するには確認メールを送信する必要があります。

上記の正規表現はjavascriptから使用されます。

-

.NETでは、代わりに.NETに次を使用して電子メール形式を検証させます。

    try
    {
      var mailAddress = new MailAddress(possibleMailAddress);
    }

問題がなければ、ドメイン部分のDNSレコードをチェックして、電子メールサーバーがあるかどうかを確認します。DNSレコードが、電子メールサーバーが存在できないことを明確に示している場合、またはそのようなドメインが存在しない場合にのみ、電子メールアドレスは拒否されます。次に、将来のルックアップを高速化するために、結果の一部をキャッシュします。

それでも、検証のために確認メールを送信する必要があります...

4

1 に答える 1

6

公式の標準RFC2822は、この正規表現で有効な電子メールアドレスを使用する構文について説明しています。

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
于 2012-07-24T12:09:46.923 に答える