use*_*996 3 java jsp spring-mvc
我有一个注册表,其中包含姓名,电子邮件和密码.注册时会向用户的电子邮件地址发送确认链接.但在发送链接之前,我需要验证电子邮件地址.我用了:
public static boolean verifyEmailAddress(String regEmail) {
boolean result = true;
try {
InternetAddress emailAddr = new InternetAddress(regEmail);
emailAddr.validate();
} catch (AddressException ex) {
result = false;
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
它显示的任何有效电子邮件,例如yutr6767868@huymail.com,k999////@sdmail.com
我收到的电子邮件request.getParameter并将其存储在regEmail.
究竟我需要做些什么才能让它发挥作用?
小智 5
好的,这里有大约 3 个示例\n http://www.mkyong.com/regular-expressions/how-to-validate-email-address-with-regular-expression/
\n\n我认为你需要的是
\n\npackage com.mkyong.regex;\n\nimport java.util.regex.Matcher;\nimport java.util.regex.Pattern;\n\npublic class EmailValidator{\n\n private Pattern pattern;\n private Matcher matcher;\n\n private static final String EMAIL_PATTERN = \n "^[_A-Za-z0-9-]+(\\\\.[_A-Za-z0-9-]+)*@\n [A-Za-z0-9]+(\\\\.[A-Za-z0-9]+)*(\\\\.[A-Za-z]{2,})$";\n\n public EmailValidator(){\n pattern = Pattern.compile(EMAIL_PATTERN);\n }\n\n /**\n * Validate hex with regular expression\n * @param hex hex for validation\n * @return true valid hex, false invalid hex\n */\n public boolean validate(final String hex){\n\n matcher = pattern.matcher(hex);\n return matcher.matches();\n\n }\nRun Code Online (Sandbox Code Playgroud)\n\n}
\n\n整个组合就是手段,电子邮件地址必须以 \xe2\x80\x9c_A-Za-z0-9-\xe2\x80\x9d 开头,可选后跟 \xe2\x80\x9c。[_A-Za-z0-9-] \xe2\x80\x9c,并以 \xe2\x80\x9c@\xe2\x80\x9d 符号结尾。email\xe2\x80\x99s 域名必须以 \xe2\x80\x9cA-Za-z0-9\xe2\x80\xb3 开头,后跟一级 Tld(.com、.net)\xe2\x80\x9c .[A-Za-z0-9]\xe2\x80\x9d 和可选的第二级 Tld (.com.au, .com.my) \xe2\x80\x9c\\.[A-Za-z ]{2,}\xe2\x80\x9d,其中二级 Tld 必须以点 \xe2\x80\x9c.\xe2\x80\x9d 开头,长度必须等于或大于 2 个字符。
\n\n例子
\n\npackage com.mkyong.regex;\n\nimport java.util.regex.Matcher;\nimport java.util.regex.Pattern;\n\npublic class EmailValidator{\n\n private Pattern pattern;\n private Matcher matcher;\n\n private static final String EMAIL_PATTERN = \n "^[_A-Za-z0-9-]+(\\\\.[_A-Za-z0-9-]+)*@\n [A-Za-z0-9]+(\\\\.[A-Za-z0-9]+)*(\\\\.[A-Za-z]{2,})$";\n\n public EmailValidator(){\n pattern = Pattern.compile(EMAIL_PATTERN);\n }\n\n /**\n * Validate hex with regular expression\n * @param hex hex for validation\n * @return true valid hex, false invalid hex\n */\n public boolean validate(final String hex){\n\n matcher = pattern.matcher(hex);\n return matcher.matches();\n\n }\nRun Code Online (Sandbox Code Playgroud)\n\n}
\n使用Apache Commons Validator.检查EmailValidator
你可以像这个例子一样使用它:
EmailValidator validator = EmailValidator.getInstance();
boolean validEmail = validator.isValid(email);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14139 次 |
| 最近记录: |