【问题标题】:Problem with validation emails in Apache Commons Validator 1.6Apache Commons Validator 1.6 中的验证电子邮件问题
【发布时间】:2019-06-29 04:01:58
【问题描述】:

我在 Apache Commons Validatior 中遇到电子邮件验证问题:

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

为什么字符大小很重要?

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

【问题讨论】:

  • @Henry 我知道,但我现在不想做变通方法,我想了解为什么我会得到这些结果。
  • 它是开源的,查看源代码。它告诉你为什么它会这样。
  • Apache 公共电子邮件验证器在匹配有效模式之前已经将给定的电子邮件转换为小写,因此大小写无关紧要。

标签: java apache-commons email-validation


【解决方案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

【讨论】:

    【解决方案2】:

    与 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 验证器在匹配有效电子邮件的模式之前在内部将电子邮件转换为小写,因此大小写无关紧要。

    【讨论】:

      猜你喜欢
      • 2014-12-25
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-22
      相关资源
      最近更新 更多