我正在研究最好的方法来检查String
是否是有效的电子邮件地址。我现在固定在两个选项上,即使用javax.mail.internet.InternetAddress
;或使用内部使用复杂的正则表达式解析器的Apache Commons EmailValidator
。
我想知道在正确性方面选择一个优于另一个是否有优势,还是两者都很好?我知道InternetAddress
在某些情况下无法有效处理非ASCII字符。
最佳答案
您可以为此使用Apache Commons Validator库中的EmailValidator:
import org.apache.commons.validator.EmailValidator;
...
EmailValidator validator = EmailValidator.getInstance();
if (validator.isValid(email)) {
// is valid, do something
} else {
// is invalid, do something
}
isValid方法检查字段是否具有有效的电子邮件地址。根据这个问题,这是最好的Java电子邮件地址验证方法
What is the best Java email address validation method?