2008-11-01 17:32:06 -04:00
|
|
|
|
2009-12-14 21:50:53 -05:00
|
|
|
package com.fsck.k9;
|
2008-11-01 17:32:06 -04:00
|
|
|
|
2010-02-15 07:51:38 -05:00
|
|
|
import android.text.util.Rfc822Tokenizer;
|
2008-11-01 17:32:06 -04:00
|
|
|
import android.widget.AutoCompleteTextView.Validator;
|
|
|
|
|
2014-12-12 10:02:59 -05:00
|
|
|
import java.util.regex.Pattern;
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public class EmailAddressValidator implements Validator {
|
2014-12-12 10:02:59 -05:00
|
|
|
private static final 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}" +
|
|
|
|
")+"
|
|
|
|
);
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public CharSequence fixText(CharSequence invalidText) {
|
2008-11-01 17:32:06 -04:00
|
|
|
return "";
|
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public boolean isValid(CharSequence text) {
|
2010-02-15 07:51:38 -05:00
|
|
|
return Rfc822Tokenizer.tokenize(text).length > 0;
|
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public boolean isValidAddressOnly(CharSequence text) {
|
2014-12-12 10:02:59 -05:00
|
|
|
return EMAIL_ADDRESS_PATTERN.matcher(text).matches();
|
2008-11-01 17:32:06 -04:00
|
|
|
}
|
|
|
|
}
|