Apache Commons Validator 1.6中的验证电子邮件出现问题

时间:2019-02-05 10:45:06

标签: java apache-commons email-validation

我在Apache Commons Validatior中对电子邮件验证存在疑问:

john@newman.com => true
john@newman.COM => false
john@newman.Com => false

为什么字符大小很重要?

编辑: 谢谢大家的帮助。问题不在于Apache Commons,而在于我的代码。

2 个答案:

答案 0 :(得分:1)

尝试以下代码。 我用commons-validator-1.6.jar尝试了您的输入,所有这些都对我有用。

EmailValidator valid=EmailValidator.getInstance();
String mail="john@newman.com";
String mail1="john@newman.COM";
String mail2="john@newman.Com";
if(valid.isValid(mail)) {
    System.out.println("Valid Mail : "+mail);
} else {
    System.out.println("InValid Mail : "+mail);
}

输出:

john@newman.com => valid
john@newman.COM => valid
john@newman.Com => valid

答案 1 :(得分:1)

此情况与Apache Commons电子邮件验证程序无关,这是示例代码

import org.apache.commons.validator.routines.EmailValidator;

public class Main {

    public static void main(String[] args) {

        EmailValidator validator = EmailValidator.getInstance();

        if (validator.isValid("john@newman.COM")) {
            System.out.println("Valid");
        } else {
            System.out.println("Invalid");
        }
    }
}

我已经用commons-validator-1.6.jar测试了此代码,并且按照该代码,电子邮件john @ newman.COM,john @ newman.Com是有效的。

 Output - Valid

Apache commons验证器在将有效电子邮件的模式匹配之前在内部将电子邮件转换为小写,因此大小写无关紧要。