4 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果您想避免為電子郵件驗(yàn)證創(chuàng)建正則表達(dá)式,您可以使用下一個(gè)代碼
private void validateEmail() {
String email = emailEditText.getText().toString().trim();
if (PatternsCompat.EMAIL_ADDRESS.matcher(email).matches() &&
(email.endsWith("@gmail.com") || email.endsWith("libraryparadise.com"))) {
setEmail(email);
} else {
displayError();
}
}

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
嘗試此代碼來(lái)檢查電子郵件驗(yàn)證 Patterns.EMAIL_ADDRESS.matcher 只需檢查正確的電子郵件模式,例如“ abc@xyz.com ”
String email=emailText.getText().toString();
//check email patterns validation
if(!Patterns.EMAIL_ADDRESS.matcher(email).matches()){
Toast.makeText(context, "Email not valid", Toast.LENGTH_SHORT).show();
return;
}else{
Toast.makeText(context, "Email not valid", Toast.LENGTH_SHORT).show();
}

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
鑒于電子郵件地址的復(fù)雜性,目前還沒(méi)有一個(gè)很好的電子郵件驗(yàn)證解決方案。
考慮兩部分驗(yàn)證
1. 驗(yàn)證電子郵件地址文本是否以“@libraryparadise.com”或“@gmail.com”結(jié)尾,并且“@”字符左側(cè)有 1 個(gè)字符
2. 使用正則表達(dá)式驗(yàn)證電子郵件地址
將這些驗(yàn)證分解為多個(gè)檢查而不是一個(gè)大的正則表達(dá)式會(huì)更容易。如果檢查位于不同的檢查中,未來(lái)的開(kāi)發(fā)人員可以閱讀代碼以更輕松地按順序查看檢查。

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以使用正則表達(dá)式
如果您確定只想要“l(fā)ibraryparadise.com”和“gmail.com”,那么您可以使用兩個(gè)正則表達(dá)式并像這樣比較它們。
String regex = "^[a-zA-Z0-9_]+(?:\\.[a-zA-Z0-9_]+)*@gmail.com*$";
String regex2 = "^[a-zA-Z0-9_]+(?:\\.[a-zA-Z0-
9_]+)*@libraryparadise.com*$";
Pattern pattern = Pattern.compile(regex);
Pattern pattern2 = Pattern.compile(regex2);
獲取包含文本的視圖
sampleText=findViewById(R.id.sampleText);
然后在條件中的任何地方使用它。
if(pattern.matcher(sampleText.getText().toString().trim()).matches()||
pattern2.matcher(sampleText.getText().toString().trim()).matches()){
//ValidEmail
}
else {
//Invalid Email
}
添加回答
舉報(bào)