2011-01-14 1 views
-2

正規表現にはひどいので、フィールドのクライアント側の検証を行う必要があります。これらの電子メールルールのJavascript正規表現

これらのルールに基づいて有効なメールアドレスをテストするための正規表現であるもの:@記号

  1. E-mailアドレスは、次の特性を持っている必要があります。

  2. 少なくとも1つの期間(2つの連続しない)。
  3. @と最初のピリオドの間の少なくとも1文字。
  4. 最後のピリオドの後の少なくとも1文字。

ありがとうございます。

-Seth

+2

http://www.google.com/search?q=email+regex – tdammers

+3

は「regexp email」ヘルプ - > http://www.regular-expressions.info/email.htmlをGoogleで検索していませんか? – Maxym

+2

ヒント:http://stackoverflow.com/search?q=regex+email –

答えて

4

あなたはこのために正規表現を使用する場合は、少なくともそれが正しい行います

(?:[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])+)\]) 

この正規表現は、あなたは間違いなく、その全体をお読みくださいthis article、から取られました。

+2

+1 @OP標準的なRFCは、RFC 2822として知られています。有効な電子メールアドレスが有効な構文について説明しています。守らなければならない。あなたはこの正規表現でそれを実装することができます(ただし、読むべきではありません)。* –

+0

ありがとう、良い読んで、良い答え。 –

1
function validateEmail(elementValue){ 
    var emailPattern = /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{1,4}$/; 
    return emailPattern.test(elementValue); 
} 

から取られたものarticle。あなたが気づくように、@の後に1ドットしか受け入れません。

@edit:another articleに応じて、より多くの標準準拠の変異体は、次のようになります。

[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9]) 

そのトレードオフがあまりにも記事にexplaninedされています。読む価値があります!