gpt4 book ai didi

java - java中的电子邮件验证

转载 作者:行者123 更新时间:2023-12-01 21:14:30 26 4
gpt4 key购买 nike

是否有任何正则表达式来验证不允许 .com.com 的电子邮件,即 example@example.com.com 但允许 .com.uk?我已经粘贴了当用户输入 .com.com 时应返回 false 的代码。谁能验证我下面的代码吗?

String ePattern = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
Pattern p =Pattern.compile(ePattern);
Matcher m = p.matcher(studentemail);
b= m.matches();
if(!b) {
eMsg.addError("email must be in formate: example@example.xxx / example@example.xx");
request.setAttribute("errorMessage", eMsg);
requestDispatcher = request.getRequestDispatcher("/addrecord.jsp");
requestDispatcher.forward(request, response);
return;
}

else {
System.out.println("valid email id");
}

最佳答案

在大多数情况下,此类正则表达式不限于 Java(仅当使用 Java 正则表达式引擎不支持的特殊功能时)。除此之外,如果您只想匹配 @example.xx 您应该调整正则表达式的第二部分(尤其是该部分的第一组)。但请注意,像 xxx.co.uk 这样的域名可能在那时无效。

此外,xx.com.com可能是无效域,但也可能不是(至少在其他组合中,例如de.de 是一个有效的域),因此您可能希望允许这样做,仅测试特定组合或限制此类域的使用。

但是,根据您的用例,发送确认电子邮件可能会更好,因为正则表达式可以告诉您它看起来正确,但可能仍然存在错误。

关于java - java中的电子邮件验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40505122/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com