2017-01-12 59 views
0

我是Android編程和Java新手,很難理解。Android電子郵件驗證不起作用

我有一個用戶可以輸入的電子郵件的editText字段。我得到的輸入與此:

final EditText loginEmail = (EditText) findViewById(R.id.loginEmail);

不,我檢查,如果該字段爲空。我用這樣這個小若:

if (loginEmail.getText().toString().length() == 0) { 
 
    loginEmail.setError("Please enter a E-Mail Address!"); 
 
} else if() { 
 
    loginEmail.setError("Invalid E-Mail Address!"); 
 
} else { 
 
    //Do a thing if is valid... 
 
}

第一if我要檢查,如果輸入的是一個有效的電子郵件或沒有,但不知道如何應對後這個。

我從這個職位的答案試了一下:Email Address Validation in Android on EditText

,但我不知道如何使用此方法...

感謝您幫助我!

回答

3

用途:

if (!Patterns.EMAIL_ADDRESS.matcher(loginEmail.getText().toString()).matches()){ 
    loginEmail.setError("Please enter a Valid E-Mail Address!"); 
}else { 
    //email is valid 
} 
+0

真棒!謝謝哥們。我很高興 – ItsOdi1

+1

考慮接受答案,如果幫助!快樂編碼:) – W4R10CK

+1

是的,但我不得不等到10分鐘結束;)在我可以接受之前 – ItsOdi1

1

從其他崗位你的類添加方法。如果輸入的文本是空的,匹配的電子郵件模式

String email = loginEmail.getText().toString(); 
if (email.isEmpty()) { 
    loginEmail.setError("Please enter a E-Mail Address!"); 
} else if (!isValidEmail(email)) { 
    loginEmail.setError("Invalid E-Mail Address!"); 
} else { 
    // Do a thing if is valid... 
} 
+2

另一個答案顯示短路;我展示瞭如何使用另一種方法,所以我現在就把它留在這裏。 –

1

試試這個,

String email_string = loginEmail.getText().toString(); 
if(!TextUtils.isEmpty(email_string) && android.util.Patterns.EMAIL_ADDRESS.matcher(email_string).matches()) { 
    //valid emailID 
} 
1

檢查: 然後用這個。

String emailPattern = "[a-zA-Z0-9._-][email protected][a-z]+\\.+[a-z]+"; 

String email = loginEmail.getText().toString(); 

if (email.isEmpty() && email.matches(emailPattern)) { 
    loginEmail.setError("Please enter a E-Mail Address!"); 
} else 
    loginEmail.setError("Invalid E-Mail Address!"); 
} 
0

工作!!!!

我們有簡單的電子郵件模式比現在

private static boolean isValidEmail(String email) { 
     return !TextUtils.isEmpty(email) && android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches(); 
    } 
相關問題