gpt4 book ai didi

java - 使用java程序进行电子邮件验证

转载 作者:行者123 更新时间:2023-12-01 23:01:56 25 4
gpt4 key购买 nike

我正在编写一个关于电子邮件验证的java程序。

代码不得包含:

  • 内置函数(除了String方法等)
  • 正则表达式

代码必须包含:

  • 循环
  • Collection

我知道如果不使用正则表达式,电子邮件验证会更加困难,但这个问题是在采访中被问到的。

是否有可能编写这样的代码或任何替代方法?

最佳答案

使用这样的东西:

public class EmailValidation {
public static void main(String[] args) {
String email = "SAMPLE_EMAIL";

String[] deniedIdCharList = { ",", ";", "'", "\"", "[", "]", "|", "\\",
"=", "!", "#", "$", "%", "^", "&", "*", "(", ")",
"/", "`", "~", ":", "<", ">", "?", "{", "}" };

int atLoc = email.indexOf("@");
if (atLoc == -1) {
System.out.println("fail");
} else {
String id = email.substring(0, atLoc);
String domain = email.substring(atLoc + 1, email.length());

if (domain.indexOf("@") != -1) {
System.out.println("fail");
}

else {

for (String deny : deniedIdCharList) {
if (id.indexOf(deny) != -1) {
System.out.println("fails");
}
if (domain.indexOf(deny) != -1) {
System.out.println("fails");
}

}
if (id.length() == 0 || domain.length() == 0) {
System.out.println("fails");
}

int dotIndex = domain.indexOf(".");
String host = domain.substring(0, dotIndex);
String extn = domain.substring(dotIndex + 1);
if (host.length() == 0) {
System.out.println("fail");
}
if ((extn.length() != 2 && extn.length() != 3 && extn.length() != 5)) {
System.out.println("fail");
}
if (extn.length() == 5 && extn.indexOf(".") == -1) {
System.out.println("fail");
}

}

}

}
}

这适用于我对其进行的大多数标准检查。代码在效率方面可以改进(很多),但我的猜测是这更多是从“可以完成吗”学术的角度来看,而不是使用角度。如果您打算使用此方法我强烈建议您不要这样做并引用@vikeng21提供的答案

关于java - 使用java程序进行电子邮件验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23284443/

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