是否可以在我的代码中获得电子邮件验证:
EditText EmailAdresse = (EditText) findViewById(R.id.editTextEMailAdresse);
if (EmailAdresse.getText().toString().length() == 0)
EmailAdresse.setError("Bitte geben Sie Ihre Email Adresse ein");
if ((EmailAdresse.getText().toString().equals(""))) {
目前它与空场(Lenght == 0)一起工作,但我希望它适用于@符号。如果用户未在字段中键入任何内容,则显示请输入您的电子邮件地址。如果用户在字段中键入一个字母或符号,则可以发送电子邮件。我希望他必须在字段中键入“@”,然后他就可以发送邮件了。
答案 0 :(得分:0)
您可以使用以下代码验证电子邮件地址,
//Email Pattern
public final static Pattern EMAIL_ADDRESS_PATTERN = Pattern.compile("[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" + "\\@"
+ "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" + "(" + "\\." + "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" + ")+");
/**
* Email validation
*
* @param email
* @return
*/
public static boolean checkEmail(String email) {
return EMAIL_ADDRESS_PATTERN.matcher(email).matches();
}
答案 1 :(得分:0)
您可以在项目中使用此类来验证电子邮件。代码几乎是不言自明的。
package com.Alok.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class EmailValidator {
private Pattern pattern;
private Matcher matcher;
private static final String EMAIL_PATTERN =
"^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
public EmailValidator() {
pattern = Pattern.compile(EMAIL_PATTERN);
}
/**
* Validate hex with regular expression
*
* @param hex
* hex for validation
* @return true valid hex, false invalid hex
*/
public boolean validate(final String hex) {
matcher = pattern.matcher(hex);
return matcher.matches();
}
}
答案 2 :(得分:-1)
您可以根据需要设置表达式
public static boolean isEmailValid(String email) {
boolean isValid = false;
String expression = "^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,8}$";
CharSequence inputStr = email;
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(inputStr);
if (matcher.matches()) {
isValid = true;
}
return isValid;
}