使用java程序进行电子邮件验证
我正在写一个关于电子邮件验证的java程序 代码不得包含以下内容:使用java程序进行电子邮件验证,java,loops,email-validation,Java,Loops,Email Validation,我正在写一个关于电子邮件验证的java程序 代码不得包含以下内容: 内置函数(除了String方法等) 正则表达式 代码必须包含以下内容: 循环 收藏 我知道如果不使用正则表达式,电子邮件验证会更加困难,但在一次采访中,有人问过这个问题 是否有可能编写这样的代码或其他方法 如果您必须在本地执行正则表达式(而不是通过电子邮件进行验证),那么使用正则表达式是您的最佳选择。但是,如果您不想使用它们,那么在管理它们的代码中会出现大量混乱 如何克服这个问题。有很多方法 使用字符串Api检查字符串中
- 内置函数(除了
方法等)String
- 正则表达式
- 循环
- 收藏
是否有可能编写这样的代码或其他方法 如果您必须在本地执行正则表达式(而不是通过电子邮件进行验证),那么使用正则表达式是您的最佳选择。但是,如果您不想使用它们,那么在管理它们的代码中会出现大量混乱 如何克服这个问题。有很多方法
我建议您不要在编写锅炉板代码时遇到所有这些麻烦,并向正则表达式问好。如果您必须在本地使用正则表达式(而不是通过电子邮件进行验证),那么使用正则表达式是您的最佳选择。但是,如果您不想使用它们,那么在管理它们的代码中会出现大量混乱 如何克服这个问题。有很多方法
我建议您不要在编写锅炉板代码时遇到所有这些麻烦,并向正则表达式问好。如果您必须在本地使用正则表达式(而不是通过电子邮件进行验证),那么使用正则表达式是您的最佳选择。但是,如果您不想使用它们,那么在管理它们的代码中会出现大量混乱 如何克服这个问题。有很多方法
我建议您不要在编写锅炉板代码时遇到所有这些麻烦,并向正则表达式问好。如果您必须在本地使用正则表达式(而不是通过电子邮件进行验证),那么使用正则表达式是您的最佳选择。但是,如果您不想使用它们,那么在管理它们的代码中会出现大量混乱 如何克服这个问题。有很多方法
我建议您不要在编写boiler plate代码的过程中遇到所有这些麻烦,并向正则表达式问好。使用以下方法:
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");
}
}
}
}
}
公共类电子邮件验证{
公共静态void main(字符串[]args){
String email=“示例\电子邮件”;
字符串[]DeniEdCharList={“,”,“;”,“',“\”,“[”,“],“\”,“\”,
"=", "!", "#", "$", "%", "^", "&", "*", "(", ")",
"/", "`", "~", ":", "", "?", "{", "}" };
int atLoc=email.indexOf(“@”);
如果(atLoc==-1){
系统输出打印项次(“失败”);
}否则{
字符串id=email.substring(0,atLoc);
String domain=email.substring(atLoc+1,email.length());
if(domain.indexOf(“@”)!=-1){
系统输出打印项次(“失败”);
}
否则{
for(字符串拒绝:denieddcharlist){
if(id.indexOf(deny)!=-1){
System.out.println(“失败”);
}
if(domain.indexOf(deny)!=-1){
System.out.println(“失败”);
}
}
if(id.length()==0 | | domain.length()==0){
System.out.println(“失败”);
}
int dotIndex=domain.indexOf(“.”);
字符串host=domain.substring(0,点索引);
字符串extn=domain.substring(点索引+1);
if(host.length()==0){
系统输出打印项次(“失败”);
}
如果((extn.length()!=2和&extn.length()!=3和&extn.length()!=5)){
系统输出打印项次(“失败”);
}
if(extn.length()==5&&extn.indexOf(“.”==1){
系统输出打印项次(“失败”);
}
}
}
}
}
这适用于我进行的大多数标准检查。代码在效率方面可以改进(很多),但是我猜这更多的是从一个“可以做到吗?”“或学术角度,而不是使用角度。如果您计划使用此方法,我强烈建议您不要使用此方法,并参考@vikeng21提供的答案,请使用以下内容:
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");
}
}
}
}
}
公共类电子邮件验证{
公共静态void main(字符串[]args){
String email=“示例\电子邮件”;
字符串[]DeniEdCharList={“,”,“;”,“',“\”,“[”,“],“\”,“\”,
"=", "!", "#", "$", "%", "^", "&", "*", "(", ")",
"/", "`", "~", ":", "", "?", "{", "}" };
int atLoc=email.indexOf(“@”);
如果(atLoc==-1){
系统输出打印项次(“失败”);
}否则{
字符串id=