使用正则表达式进行Java电子邮件地址验证
我正在尝试设置电子邮件地址输入的常规Expersion验证 我有一个java类来进行验证:使用正则表达式进行Java电子邮件地址验证,java,Java,我正在尝试设置电子邮件地址输入的常规Expersion验证 我有一个java类来进行验证: public class EmailValidator implements Validator { @Override public void validate(FacesContext facesContext, UIComponent uIComponent, Object value) throws ValidatorException { //Get the component's con
public class EmailValidator implements Validator {
@Override
public void validate(FacesContext facesContext,
UIComponent uIComponent, Object value) throws ValidatorException {
//Get the component's contents and cast it to a String
String enteredEmail = (String)value;
//Set the email pattern string
Pattern p = Pattern.compile(".+@.+\\.[a-z]+");
//Match the given string with the pattern
Matcher m = p.matcher(enteredEmail);
//Check whether match is found
boolean matchFound = m.matches();
if (!matchFound) {
FacesMessage message = new FacesMessage();
message.setDetail("Email not valid - The email must be in the format yourname@yourdomain.com");
message.setSummary("Email not valid - The email must be in the format yourname@yourdomain.com");
message.setSeverity(FacesMessage.SEVERITY_ERROR);
throw new ValidatorException(message);
}
}
}
这段代码中有一个默认模式。然而,我试图用另一种模式来代替它
模式:
/^(?:(?:(?:[^@,[]\x5c\x00-\x20\x7f-\xff.]\x5c(?=[@,[]\x5c\x00-\x20\x7f-\xff])(?:[^@,[]\x5c\x00-\x20\x7f-\xff])(?:[^@,[]\x5c\x00-\x20\x7f-\xff])|(?我确信可以使用regex,但您必须将其正确插入代码中。然而,检查电子邮件是否有效的最佳方法是发送电子邮件。这是一个使用regex验证电子邮件的好网站,当然您可以随时搜索此网站以查找许多类似的问题。我确信可以使用regex,但您必须e以正确地将其插入代码中。但是,检查电子邮件是否有效的最佳方法是发送电子邮件。这是一个使用regex进行电子邮件验证的好网站,当然,您可以随时搜索此网站以查找许多类似的问题。如果您尝试进行电子邮件验证,此模式有效且短得多
^[a-z0-9![a-z0-9![a-z0-9!][a-z0-9!][a-z0-9!][a-z0-9!][a-z0-9%&][a-z0-9-][a-z0-9]([a-z0-9-][a-z0 9-][a-z0 a-9-][a-z0 a-9-][a-z0 a-z0 9-][a-z0 a-9-][a-z0 a-z0 a-9-][a-z0 a-9-][a-z0
我使用java的正则表达式util包(java.util.regex.*
),下面是关于它的文档以及java中的正则表达式:
如果您试图进行电子邮件验证,此模式有效且短得多。^[a-z0-9!\$%&*+/=?^-+(?:\.[a-z0-9!\$%&'*+/=?^[a-z0-9]+++-]*:[a-z0-9](?:[a-z0-9-].[a-z0-9]-]
我使用java的正则表达式util包(java.util.regex.*
),下面是关于它的文档以及java中的正则表达式:
您可以使用该正则表达式(或任何您想要的正则表达式),但请记住在java字符串中删除反斜杠\
(通过输入两个\
)
是一个允许您将正则表达式字符串转换为Java字符串的页面,也就是说,它可以为您完成所有奇怪字符的转义…(页面现在似乎已关闭,但昨天还在运行,所以请稍后登录…)您可以使用该正则表达式(或任何您想要的)但是请记住在java字符串中删除反斜杠\
(通过输入两个\\
)
是一个允许您将正则表达式字符串转换为Java字符串的页面,也就是说,它为您完成所有奇怪字符的转义…(页面现在似乎已关闭,但昨天还在运行,所以请稍后登录…)您也可以使用发件人。您也可以使用发件人。您可以使用此表达式进行电子邮件验证“[A-Za-z]+@+[A-Za-z]+\.+[A-Za-z]{2,4}+$”
这样做要简单得多。您可以使用此表达式进行电子邮件验证“[A-Za-z]+@+[A-Za-z]+\.+[A-Za-z]{2,4}+$”
这样做要简单得多。请试试这个,对我来说效果很好
String expressionForEmail = "^[\\w\\.-]+@([\\w\\-]+\\.)+[a-zA-Z]{2,4}$";
请试试这个,我觉得很好用
String expressionForEmail = "^[\\w\\.-]+@([\\w\\-]+\\.)+[a-zA-Z]{2,4}$";
你用这个模式干什么?你用这个模式干什么?所以我所要做的就是全部转义/和\?如果我只转义“/”它不起作用我修改了正则表达式来为java工作,只需遵循我给你的文档,你应该能够毫无问题地完成它。所以我所要做的就是全部转义/和\?如果我只转义“/“它不起作用我修改了正则表达式使其适用于java,只需遵循我给你的文档,你应该能够毫无问题地完成它。该正则表达式不会验证所有有效的电子邮件地址。该正则表达式不会验证所有有效的电子邮件地址。