如何在android中检查包含UTF-8的电子邮件地址
我正在使用此代码检查电子邮件地址是否有效。但对于UTF-8(非英语),它是有效的。我想检查电子邮件格式,包括UTF-8。请提供帮助。您可以使用android模式发送电子邮件:如何在android中检查包含UTF-8的电子邮件地址,android,utf-8,Android,Utf 8,我正在使用此代码检查电子邮件地址是否有效。但对于UTF-8(非英语),它是有效的。我想检查电子邮件格式,包括UTF-8。请提供帮助。您可以使用android模式发送电子邮件: private boolean isValidEmail(String email){ boolean isValid = false; String expression = "^(([\\w-]+\\.)+[\\w-]+|([a-zA-Z]{1}|[\\w-]{2,}))@"
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;
}
试试这个……希望它能帮助你
boolean isEmailValid(CharSequence email) {
return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
}
public静态布尔值isValidMailID(字符串到地址){
如果(!isBasicallyValidEmailAddress(toAddress)| | toAddress.indexOf('.')=-1)
返回false;
int index1=toAddress.lastIndexOf('.');
int index2=toAddress.lastIndexOf('@');
if(地址以“.”结尾)
返回false;
如果(index1=index1)
返回false;
返回true;
}
私有静态布尔值isBasicallyValidEmailAddress(字符串电子邮件){
如果(电子邮件==null){
返回false;
}
布尔值=false;
对于(int i=0;i'z')&&(c<'a'| c>'z')&(c<'0'| c>'9')&&!isAtextSymbol(c)){
返回false;
}
如果(c=='@'){
如果(atFound){
返回false;
}
atFound=true;
}
}
返回找到的;
}
公共静态布尔isAtextSymbol(字符c){
对于(int i=0;i
要应用调用方法isValidMailId(传递邮件id)的位置…请参见此处链接和此声明警报变量private static final char[]ATEXT_SYMBOLS={'@',''.','''.};戈巴利
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;
}