简体   繁体   English

如何验证来自JTextField的电子邮件

[英]How to validate an email from JTextField

Just like the title says, I want to display a jOptionPane if there's a missing specific character in a jTextField. 就像标题所说的那样,如果jTextField中缺少特定字符,我想显示jOptionPane。 Let's say that character is "@". 假设这个字符是“@”。

I tried something like this: 我试过这样的事情:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {   
   String email = (String)txtEmail.getText();
   if (!email.equals(email) && email.equals("@")){
      jOptionPane1.showMessageDialog(null, "Please"); 
   }
}

However, I can't get this to work. 但是,我无法让这个工作。 I also tried using contains() and contentEquals() but I don't know how to use it properly so I had changed the code. 我也尝试使用contains()contentEquals()但我不知道如何正确使用它,所以我改变了代码。 Searching on Google also doesn't help because I can't find what I want. 在Google上搜索也无济于事,因为我无法找到我想要的内容。 Please consider helping. 请考虑帮助。 BTW, I'm using netbeans. 顺便说一下,我正在使用netbeans。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {   
    String email = txtEmail.getText();
    if (!email.contains("@")) {
        jOptionPane1.showMessageDialog(null, "Please"); 
    }
}

If you're trying to validate an email, use String.matches(regex) 如果您要验证电子邮件,请使用String.matches(regex)

Here is an imlementation of the email regex validation patter from this site . 这是来自此站点的电子邮件正则表达式验证模式的实现。 An explanation of the regex can also be found on the site. 也可以在网站上找到正则表达式的解释。

private static final String EMAIL_PATTERN = 
    "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
    + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

if (!email.matches(EMAIL_PATTERN)) {}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM