2011-08-16 20 views
3

RegExとJavascriptのメールフィールドの検証を使用して、無料のメールサービスメール(Gmail、Yahoo、Hotmailなど)を許可しないようにするにはどうすればよいですか?RegExで電子メールアドレスの検証とフィルタリングを行いますか?

^.*@(?!(aol\.com$|yahoo\.com$|hotmail\.com$))$ 

私はValidate email address in JavaScript?ここで、一般的な「JavaScriptで電子メールアドレスを検証し、」解決策を見てきましたが、それはGmailやYahooやHotmailのを禁止にする方法を見つけ出す傾けます。そこに到達するために許容可能な方法の何千もの

[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)\b 
+1

あなたは正規表現を使用する必要がありますか?代わりに '@'を分割してTLDのブラックリストと比較することができますか? – sdleihssirhc

+0

私はカスタム検証のための正規表現を可能にする第三者フォームフレームワークを使用しています。したがって、正規表現を使用する必要があります。 –

答えて

7

1 - あなたは受け入れられないではないことを...

function isGoodEmail(email) { 
    if(isValidEmail(email)) { 
     if(/(aol|gmail|yahoo|hotmail)\.com$/.test(email)) { 
      alert(' valid email, but not for this site. No free service emails!'); 
      return false; 
     } 
     return true; 
    } 
    return false; 
} 

function isValidEmail(email) { 
    // implement using any of the email regexp's available 
} 
+0

正規表現を使用する必要があります。 –

+0

混乱して申し訳ありません。私は質問を編集することを確認します。 –

関連する問題