Java 检查电子邮件地址是否有效
给定一个字符串,查找该字符串是否为有效的电子邮件。
Input : email = "review-team@geeksforgeeks.org"
Output : Yes
Input : email = "contribute@geeksforgeeks..org"
Output : No
Explanation : There is an extra dot(.) before org.
正则表达式
正则表达式或Regex是定义字符串模式的API,可用于在Java中搜索、操作和编辑字符串。电子邮件验证和密码是广泛使用Regex来定义约束条件的几个字符串领域。正则表达式是在 java.util.regex 包下提供的。
为了检查一个电子邮件地址是否有效,我们使用OWASP验证Regex库中提供的以下正则表达式。
^[a-zA-Z0-9_+ &*-] + (?:\\.[a-zA-Z0-9_+&*-]
+ )*@(?:[a-zA-Z0-9-]+\\.) + [a-zA-Z]{2, 7}$
代码–
// Java program to check if an email address
// is valid using Regex.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.*;
class Test
{
public static boolean isValid(String email)
{
String emailRegex = "^[a-zA-Z0-9_+&*-]+(?:\\."+
"[a-zA-Z0-9_+&*-]+)*@" +
"(?:[a-zA-Z0-9-]+\\.)+[a-z" +
"A-Z]{2,7}$";
Pattern pat = Pattern.compile(emailRegex);
if (email == null)
return false;
return pat.matcher(email).matches();
}
public static void main(String[] args)
{
ArrayList<String> address = new ArrayList<>();
address.add("review-team@geeksforgeeks.org");
address.add("writing.geeksforgeeks.org");
for(String i : address){
if (isValid(i))
System.out.println(i + " - Yes");
else
System.out.println(i + " - No");
}
}
}
输出
review-team@geeksforgeeks.org - Yes
writing.geeksforgeeks.org - No