javaEmail地址验证: 建议最好不要把所有的判断都写在一起,把判断拆分处理 1:必定包含.和@ 2:.和@不能位于首尾 3:.可以出现多次,但@只能一次 4:.不能在@之前出现 5:.不能紧接@后面出现 6:.不能连续出现 7:末尾必须是.com,.net,.cn,.org结尾
时间: 2024-02-12 19:03:49 浏览: 20
好的,关于Java的Email地址验证,我可以为您提供以下代码作为参考:
```
public boolean isValidEmail(String email) {
if (email == null || email.trim().isEmpty()) {
return false;
}
if (email.indexOf("@") < 1 || email.lastIndexOf(".") < email.indexOf("@")+2 || email.lastIndexOf(".") + 2 > email.length()) {
return false;
}
if (email.startsWith(".") || email.startsWith("@") || email.endsWith(".") || email.endsWith("@")) {
return false;
}
if (email.indexOf("@") != email.lastIndexOf("@")) {
return false;
}
if (email.indexOf(".") < email.indexOf("@")) {
return false;
}
if (email.indexOf("@") + 1 == email.indexOf(".")) {
return false;
}
if (email.indexOf("..") >= 0 || email.indexOf(".@") >= 0 || email.indexOf("@.") >= 0) {
return false;
}
String suffix = email.substring(email.lastIndexOf(".") + 1);
if (!suffix.equalsIgnoreCase("com") && !suffix.equalsIgnoreCase("net") && !suffix.equalsIgnoreCase("cn") && !suffix.equalsIgnoreCase("org")) {
return false;
}
return true;
}
```
这段代码实现了您提到的所有验证规则,其中:
1. 首先判断Email地址是否为空或空格,如果是,则直接返回false;
2. 判断Email地址中是否包含“@”和“.”,如果不包含,则直接返回false;
3. 判断Email地址中的“@”和“.”是否位于首尾,如果是,则直接返回false;
4. 判断Email地址中“@”和“.”的数量是否合法,如果不合法,则直接返回false;
5. 判断Email地址中“@”和“.”的顺序是否合法,如果不合法,则直接返回false;
6. 判断Email地址中是否有连续出现的“.”或者“.@”或者“@.”,如果有,则直接返回false;
7. 判断Email地址的结尾是否是合法的后缀,如果不是,则直接返回false;
8. 最后,如果所有的验证都通过,则返回true。
希望这段代码能够对您有所帮助。