[英]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());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.