首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java EE 中使用正則表達式驗證 Email 格式的標準做法

     編輯:程式設計綜合問答

需求分析

在 Java EE 專案中,常需驗證使用者輸入的電子郵件格式是否合法。雖然可自行撰寫正則,但建議採用成熟庫或標準 API,避免邊界情況疏漏。

方案一:Jakarta Bean Validation(標準規格)

// 實體類別
import jakarta.validation.constraints.Email;

public class UserForm {
    @Email(message = "電子郵件格式不正確")
    private String email;
    // getter/setter
}

搭配 Spring MVC / Jakarta EE 容器,自動在 Controller 層驗證:

@PostMapping("/register")
public String register(@Valid UserForm form, BindingResult result) {
    if (result.hasErrors()) return "registerForm";
    // 合法邏輯
}

方案二:Apache Commons Validator(輕量工具庫)

<dependency>
    <groupId>commons-validator</groupId>
    <artifactId>commons-validator</artifactId>
    <version>1.7</version>
</dependency>
import org.apache.commons.validator.routines.EmailValidator;

public boolean isValidEmail(String email) {
    return EmailValidator.getInstance().isValid(email);
}

方案三:自訂正則(僅教學或極簡專案)

// RFC 5322 簡化版,涵蓋多數常見格式
private static final Pattern EMAIL_PATTERN = Pattern.compile(
    "^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$"
);

public boolean isValidEmail(String email) {
    return email != null && EMAIL_PATTERN.matcher(email).matches();
}
注意:完整 RFC 5322 正則極其冗長,生產環境不建議手寫。

Eclipse 開發小技巧

  • 安裝 Eclipse Validation Framework 外掛,可在編輯器即時顯示驗證錯誤。
  • 使用 Ctrl+Shift+T 快速開啟 EmailValidator 等類別查看原始碼。

總結

企業級專案首選 Bean Validation @Email,零配置、標準化、易維護;輕量專案可引入 Commons Validator;切勿自行造輪子撰寫複雜正則。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved