使用 Java 正则表达式进行电子邮件验证
使用正则表达式验证电子邮件地址是一种不太推荐的方法,但要继续使用此方法,这一点很重要了解它可能带来的潜在问题。
首先,让我们检查一下提供的正则表达式:
b[A-Z0-9._%-] @[A-Z0-9.-] .[A-Z]{2,4}b
在 Java 中,使用了以下代码:
Pattern p = Pattern.compile("\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"); Matcher m = p.matcher("[email protected]");
但是,正则表达式无法匹配有效的电子邮件地址。让我们考虑代码和正则表达式来识别失败的潜在原因。
Eclipse 中使用相同正则表达式的“查找和替换”功能表现不同,因为它可能没有使用相同的模式匹配算法,或者可能已处理输入字符串不同。
要解决此问题,您可以考虑使用更精细的电子邮件验证正则表达式:
public static final Pattern VALID_EMAIL_ADDRESS_REGEX = Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE); public static boolean validate(String emailStr) { Matcher matcher = VALID_EMAIL_ADDRESS_REGEX.matcher(emailStr); return matcher.matches(); }
此更新的正则表达式遵循更严格的格式,以确保匹配有效的电子邮件地址。它还使用不区分大小写的模式来允许电子邮件大小写的变化。
以上是Java Regex 如何有效验证电子邮件地址?的详细内容。更多信息请关注PHP中文网其他相关文章!