private boolean isValidEmail(String email){
boolean isValid = false;
String expression = "^(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@"
+"((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?"
+"[0-9]{1,2}|25[0-5]|2[0-4][0-9])\."
+"([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?"
+"[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|"
+"([a-zA-Z]+[\w-]+\.)+[a-zA-Z]{2,4})$";
CharSequence inputStr = email;
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(inputStr);
if (matcher.matches()) {
isValid = true;
}
return isValid;
}
我正在使用此代码检查电子邮件地址是否有效。但在 UTF-8(非英语)的情况下,它是有效的。我想检查电子邮件格式,包括 UTF-8。请帮忙。
您可以使用 android 模式发送电子邮件:
boolean isEmailValid(CharSequence email) {
return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
}
试试这个。希望它能帮助你
public static boolean isValidMailID(String toAddress) {
if(!isBasicallyValidEmailAddress(toAddress) || toAddress.indexOf('.') == -1)
return false;
int index1 = toAddress.lastIndexOf('.');
int index2 = toAddress.lastIndexOf('@');
if(toAddress.endsWith("."))
return false ;
if( index1 < index2 || (index2 + 1) >= index1)
return false;
return true;
}
private static boolean isBasicallyValidEmailAddress(String email) {
if (email == null) {
return false;
}
boolean atFound = false;
for (int i = 0; i < email.length(); i++) {
char c = email.charAt(i);
if ((c < 'a' || c > 'z') && (c < 'A' || c > 'Z') && (c < '0' || c > '9') && !isAtextSymbol(c)) {
return false;
}
if (c == '@') {
if (atFound) {
return false;
}
atFound = true;
}
}
return atFound;
}
public static boolean isAtextSymbol(char c) {
for (int i = 0; i < ATEXT_SYMBOLS.length; i++) {
if (c == ATEXT_SYMBOLS[i]) {
return true;
}
}
return false;
}
您要应用调用方法是有效邮件ID的地方(传递您的邮件ID)...