2016-11-16 7 views
0

電子メールアドレスを検証するコードを作成しようとしていますが、コードを実装しようとしたときに電子メールアドレスを正しく検証できる次のソースコードが見つかりました。アンドロイドスタジオでは、次のコーディングアイテムは認識されませんでした。 &アンペア、& GTとm_matcher電子メールアドレスを検証するためのコードの意味とその説明

ソースコード:!

/** 
* Method to validate the EditText for valid email address 
* @param p_editText The EditText which is to be checked for valid email 
* @param p_nullMsg The message that is to be displayed to the user if the text in the EditText is null 
* @param p_invalidMsg The message that is to be displayed to the user if the entered email is invalid 
* @return true if the entered email is valid, false otherwise 
*/ 
private boolean validateEmail(EditText p_editText, String p_nullMsg, String p_invalidMsg) 
{ 
    boolean m_isValid = false; 
    try 
    { 
     if (p_editText != null) 
     { 
      if(validateForNull(p_editText,p_nullMsg)) 
      { 
       Pattern m_pattern = Pattern.compile("([\\w\\-]([\\.\\w])+[\\w][email protected]([\\w\\-]+\\.)+[A-Za-z]{2,4})"); 
       Matcher m_matcher = m_pattern.matcher(p_editText.getText().toString().trim()); 
       if (!m_matcher.matches() && p_editText.getText().toString().trim().length() > 0) 
       { 
        m_isValid = false; 
        p_editText.setError(p_invalidMsg); 
       } 
       else 
       { 
        m_isValid = true; 
       } 
      } 
      else 
      { 
       m_isValid = false; 
      } 
     } 
     else 
     { 
      m_isValid = false; 
     } 
    } 
    catch(Throwable p_e) 
    { 
     p_e.printStackTrace(); // Error handling if application crashes 
    } 
    return m_isValid; 
} 

パート2:

/** 
* Method to check if some text is written in the Edittext or not 
* @param p_editText The EditText which is to be checked for null string 
* @param p_nullMsg The message that is to be displayed to the user if the text in the EditText is null 
* @return true if the text in the EditText is not null, false otherwise 
*/ 
private boolean validateForNull(EditText p_editText, String p_nullMsg) 
{ 
    boolean m_isValid = false; 
    try 
    { 
     if (p_editText != null && p_nullMsg != null) 
     { 
      if (TextUtils.isEmpty(p_editText.getText().toString().trim())) 
      { 
       p_editText.setError(p_nullMsg); 
       m_isValid = false; 
      } 
      else 
      { 
       m_isValid = true; 
      } 
     } 
    } 
    catch(Throwable p_e) 
    { 
     p_e.printStackTrace(); // Error handling if application crashes 
    } 
    return m_isValid; 
} 

誰かが&アンプと& GTは、なぜAndroidのスタジオが何をするのか私に説明してもらえこれらの項目を認識できません。最後に、このコード行に感嘆符が赤で強調表示されているのはなぜですか**!** m_matcher

長いポストに感謝し、ありがとうございます!

+0

? –

+0

@ cricket_007ここから入手してください:http://www.technetexperts.com/mobile/method-for-email-validation-in-android-application/2/ – NoobCoder

+0

これは部分的に動作します。電子メールアドレスを入力するフィールドがnullの場合はエラーを設定しますが、フォーマットはチェックしません。これはかなり難解です。 – NoobCoder

答えて

4

& &>には>の代わりに&&を使用する必要があります.HTMLコードを含むウェブページからコピーしたようです。

Changeからこのライン:

if (!m_matcher.matches() && p_editText.getText().toString().trim().length() > 0) 

へ:

あなたがこのコードをコピーしなかった
if (!m_matcher.matches() && p_editText.getText().toString().trim().length() > 0) 
+0

ありがとうポール!問題は解決しました! – NoobCoder

関連する問題