【问题标题】:My Email Validation is not working我的电子邮件验证不起作用
【发布时间】:2018-01-29 10:34:40
【问题描述】:

这是我的工作屏幕截图:

当我尝试将 .(dot) 放在电子邮件地址前面时,它仍然显示电子邮件发送成功:

我正在输入我的验证码:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Validation {   

    public static boolean isValidEmail(String email)
    {
    String ePattern = "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$";
    Pattern p = java.util.regex.Pattern.compile(ePattern);
    Matcher m = p.matcher(email);
    return m.matches();
    }
}

【问题讨论】:

  • 在命令行应用程序中解决这个问题。该问题与 Swing 无关。

标签: java regex email-validation


【解决方案1】:

如果我对您的理解正确,您的直接问题是验证以点开头的电子邮件;您需要以仅在第一个字符之后允许点的方式来制定条件。例如:

String ePattern = "^[\\w-_]+[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$";

更好的方法可能是使用 Apache Commons EmailValidator:

EmailValidator ev = EmailValidator.getInstance();
return ev.isValid(email);

这里是maven依赖:

<dependency>
    <groupId>commons-validator</groupId>
    <artifactId>commons-validator</artifactId>
    <version>1.4.0</version>
</dependency>

【讨论】:

  • 非常感谢它对我有帮助。 ;)
【解决方案2】:

您可以使用 JAVA EE 7 API 库进行电子邮件检查。借助上面的代码块,您的程序可以验证电子邮件地址输入。

public boolean isValidEmailAddress(String email) 
{
    boolean result = true;
    try 
    {
       InternetAddress emailAddr = new InternetAddress(email);
       emailAddr.validate();
    } 
    catch (AddressException ex) 
    {
       result = false;
    }
    return result;
}  

不要忘记导入这些:

import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;

验证后,您可以发送所需的邮件。 我不确定,但我希望它会有所帮助。

祝你有美好的一天!

【讨论】:

  • 哪个API,你能告诉我那个API的确切名称吗。以便我可以下载和使用。
  • 首先,确保添加了JAVA EE BaseEJB and EAR(我不记得哪个相关,只要下载它们以防万一。你可以从Tools -&gt; Plugins -&gt; Available Plugins .它位于你的IDE的上部(对于NetBeans)。如果你使用不同的东西,搜索如何添加插件。你也可以从Installed列表中查看它们Plugins)。然后右键单击项目中的 to libraries 文件夹,找到 JAVA EE 7 API Library 并将此库添加到您的项目中。我希望我很清楚,希望它能奏效。
猜你喜欢
  • 1970-01-01
  • 2017-05-27
  • 2012-08-19
  • 2019-01-01
  • 2015-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多