Java如何验证电子邮件地址格式?

在Java编程中,如何验证电子邮件地址格式?

以下示例演示如何使用String类的matches()方法来验证电子邮件地址。

package com.yiibai;

public class ValidateEmailFormat {
    public static void main(String[] args) {
        String EMAIL_REGEX = "^[\\w-_\\.+]*[\\w-_\\.]\\@([\\w]+\\.)+[\\w]+[\\w]$";
        String email1 = "admin@yiibai.com";
        Boolean b = email1.matches(EMAIL_REGEX);
        System.out.println("is e-mail: " + email1 + " :Valid = " + b);
        String email2 = "admin^domain.co.in";
        b = email2.matches(EMAIL_REGEX);
        System.out.println("is e-mail: " + email2 + " :Valid = " + b);
    }
}
Java

上述代码示例将产生以下结果 -

is e-mail: admin@yiibai.com :Valid = true
is e-mail: admin^domain.co.in :Valid = false
Shell

示例-2

以下是如何验证电子邮件地址格式的另一个示例。

package com.yiibai;

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

public class ValidateEmailFormat2 {
   public static void main(String args[]) {
      List emails = new ArrayList();
      emails.add("admin@yiibai.com");
      emails.add("yes2dos@gmail.com");
      emails.add("maxsu%google-cn.com");
      emails.add("maxsua@gmail-cn.com");
      emails.add("said#@youtube.co.in");
      emails.add("atosll@domaincom");
      emails.add("kitte#gmail.com");
      emails.add("@yiibai.com");

      String regex = "^(.+)@(.+)$";
      Pattern pattern = Pattern.compile(regex);

      for (Object email : emails) {
         Matcher matcher = pattern.matcher((CharSequence) email);
         System.out.println(email + " : " + matcher.matches());
      } 
   }
}
Java

上述代码示例将产生以下结果 -

admin@yiibai.com : true
yes2dos@gmail.com : true
maxsu%google-cn.com : false
maxsua@gmail-cn.com : true
said#@youtube.co.in : true
atosll@domaincom : true
kitte#gmail.com : false
@yiibai.com : false
posted @ 2018-09-10 07:57  borter  阅读(4203)  评论(0编辑  收藏  举报