如何进行电子邮件验证?我使用以下代码来检查电子邮件的验证.
final String EMAIL_PATTERN = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A- Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
Pattern pattern = Pattern.compile(EMAIL_PATTERN);
Matcher matcher = pattern.matcher(string);
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,但如果我也输入字符串"example@gmail.com.com",我得到的响应true.
我需要验证这一点.我怎么验证这个?请帮我.
WIS*_*SHY 22
使用此代码块将电子邮件传递给此函数,它将返回布尔值true或false
private boolean validEmail(String email) {
Pattern pattern = Patterns.EMAIL_ADDRESS;
return pattern.matcher(email).matches();
}
if (!validEmail(email)) {
Toast.makeText(YourActivity.this,"Enter valid e-mail!",Toast.LENGTH_LONG).show();
}
Run Code Online (Sandbox Code Playgroud)
使用以下类:
public class RequiredFieldValidator implements Validator {
/** The objects. */
List<EditText> objects;
/** The Constant EMAIL_ADDRESS_PATTERN. */
private 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}" + ")+");
/**
* Check email.
*
* @param email the email
* @return true, if successful
*/
public static boolean checkEmail(String email) {
return EMAIL_ADDRESS_PATTERN.matcher(email).matches();
}
/**
* Instantiates a new required field validator.
*
* @param objects the objects
*/
public RequiredFieldValidator(List<EditText> objects) {
this.objects = objects;
}
/* (non-Javadoc)
* @see com.gangaz.mobi.supermarket.helper.Validator#setFailureMessage(java.lang.String)
*/
@Override
public void setFailureMessage(String message) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.gangaz.mobi.supermarket.helper.Validator#setType(int)
*/
@Override
public void setType(int type) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.gangaz.mobi.supermarket.helper.Validator#validate()
*/
@Override
public boolean validate() {
boolean valid = false;
for (EditText obj : objects) {
if (obj.getText().toString().trim().length() == 0) {
valid = false;
break;
}
}
return valid;
}
}
Run Code Online (Sandbox Code Playgroud)
然后在您的活动中执行以下操作:
if (email.length() != 0 &&
RequiredFieldValidator.checkEmail(email.trim()) != true) {
//show toast for invalid email
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15283 次 |
| 最近记录: |