簡體   English   中英

驗證以 .services 結尾的電子郵件地址的 Java 正則表達式

[英]Java regular expression to validate email address that end with .services

使用java.util.regex.Matcher驗證電子郵件地址的正則表達式失敗。 它會拋出無效的電子郵件地址或錯誤。

我將如何修改模式以允許以 .services 結尾的電子郵件地址

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

String emailAddress = myemail@something.services;

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

Matcher matcher = ADDR_PATTERN.matcher(emailAddress);



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

String emailAddress = myemail@something.services;

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

Matcher matcher = ADDR_PATTERN.matcher(emailAddress);

您應該使用“內置” javax.mail.internet.InternetAddress格式驗證器,而不是使用正則表達式。 隨着您添加其他規則,正則表達式變得更加復雜,而對后綴的基本驗證和嚴格驗證是人類可讀的。

public static boolean isValidEmailAddress(String email) {
    try {
        InternetAddress emailAddr = new InternetAddress(email);
        emailAddr.validate(); //validates email format

        return true;
    } catch (AddressException ex) {
        return false;
    }
}

^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.services$

Pattern pattern = Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.services$", Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher("myemail@something.services");
    System.out.println("result: "+matcher.find());

基於Java 正則表達式電子郵件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM