2012-01-11 8 views
0

電子メールの検証には正規表現の検証を使用していますが、何らかの理由ですべてのフォーマットに従っていても無効と表示されます。正規表現用の.matchは機能しません

javascript関数

function check_email_valid(emails) { 
     var emailRegex = '^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$'; 
     if (emails.match(emailRegex)) { 
      jQuery('#<%=Label16.ClientID%>').css('color', 'green'); 
      jQuery('#<%=Label16.ClientID%>').show(); 
      jQuery('#<%=Label16.ClientID%>').text("Valid Email!"); 
     } 
     else { 
      jQuery('#<%=Label16.ClientID%>').css('color', 'red'); 
      jQuery('#<%=Label16.ClientID%>').show(); 
      jQuery('#<%=Label16.ClientID%>').text("Invalid Email!"); 
     } 

イベントトリガー

$('#<%=TextBox8.ClientID%>').keyup(function() { 
      var email = jQuery('#<%=TextBox8.ClientID%>').val(); 
      check_email_valid(email); 
     }); 

私は[email protected]でキーとなった "無効なメールを!"。どんな考え?

+0

パターンが 'test @ mail.com'と一致しません - パターンをテストするために[RegExr](http://www.gskinner.com/RegExr/)を使用します。 – Biotox

+0

Biotox>素晴らしいウェブサイト!将来はそれを使用します!ありがとう! – user1143801

答えて

0

JavaScriptは、正規表現パターンを他の言語とは多少異なる方法で定義しています。文字列ではなく、単にスラッシュで始まり、スラッシュで終わり、その後でいくつかのフラグを指定することができます。

あなたのパターンは次のように定義されています。パターンの最後に

var emailRegex = /^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$/i; 

iフラグは、大文字小文字を区別しないことができます。

+0

私のためにうまくいった! Did notはjquery正規表現のパターンがそのように書かれていることを知っています。とても有難い! – user1143801

1

大文字と小文字の区別はありません....電子メールアドレスを検証すると、a bit more complicatedとなります。...(1つは博物館、もう1つはもっと..)

+0

ケースの感度ヘルプのおかげで、エラーの1つでした!既にそれを変更しました:) – user1143801

+0

あなたはここで注意を払う必要があります - あなたがしようとしているのは愚かなことです - あなたは完全に有効な電子メールアドレスを入力し、ほとんどの商用Webサイトでは、電子メールを2回入力してから比較して、同じ時間に入力されていることを確認しています –

関連する問題