package jpaoletti.jpm.validator;
import java.util.regex.Pattern;
/**
* Validates an e-mail address. A null or empty mail is considered valid.
*
* @author jpaoletti
* @since 05/03/2012
* @version 1.3.0
*
*/
public class MailValidator extends IsNameValidator {
private static final Pattern rfc2822 = Pattern.compile(
"^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$");
@Override
protected boolean isName(String fieldvalue) {
return (fieldvalue == null) || "".equals(fieldvalue) || rfc2822.matcher(fieldvalue).matches();
}
}