我正在嘗試查找一個簡單的方法來檢查用戶的輸入是否符合電子郵件地址的幾個條件。我已閱讀了關於此主題的許多主題,並且大多數人似乎也想驗證電子郵件地址。我並沒有試圖建立一些超級電子郵件地址驗證器/檢查器。我試圖建立一個檢查這些東西的方法:對Java中電子郵件的非混淆性簡單驗證字符串
- 用戶輸入的字符串包含'@'符號。
- '@'符號前至少有兩個字符。
- 有一個'。'在符號後面只有三個字符。域名可以根據需要儘可能長,但字符串必須以「._ _ _」結尾。如「.com」或「.net」...
據我所知,這不是一個包羅萬象的電子郵件地址檢查器。這不是我想要的。我只想要一件簡單的事情。我知道這可能是一個例行的問題,但即使在閱讀了驗證電子郵件地址的所有嚴重瘋狂的方法之後,我也無法弄清楚。
這是我到目前爲止的代碼:(別擔心,我已經知道這是很可悲的....)
public static void checkEmail()
{
validEmail(emailAddresses);
if(validEmail(emailAddresses))
{
}
}
public static boolean validEmail(String email) {
return email.matches("[A-Z0-9._%+-][A-Z0-9._%+-][email protected][A-Z0-9.-]+\\.[A-Z]{3}");
}
在這種情況下很難說什麼是簡單的。您發佈了一些案例(包含@,之前/之後包含另一個字符)。我會閱讀規範並制定一個完整的正則表達式來驗證它。 – khachik 2011-04-15 20:10:08
只需注意術語:您不想檢查電子郵件,想檢查*電子郵件地址*。這是不一樣的。 – 2011-04-15 20:34:59
另一個說明:有頂級域名有更多('博物館,''航空'),並且少於兩個('de','us'等 - 所有國家代碼頂級域名,事實上)字母。 (而且我的大部分電子郵件地址都以'.de'結尾。) – 2011-04-15 20:39:15