Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java程序进行电子邮件验证_Java_Loops_Email Validation - Fatal编程技术网

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

使用java程序进行电子邮件验证,java,loops,email-validation,Java,Loops,Email Validation,我正在写一个关于电子邮件验证的java程序 代码不得包含以下内容: 内置函数(除了String方法等) 正则表达式 代码必须包含以下内容: 循环 收藏 我知道如果不使用正则表达式,电子邮件验证会更加困难,但在一次采访中,有人问过这个问题 是否有可能编写这样的代码或其他方法 如果您必须在本地执行正则表达式(而不是通过电子邮件进行验证),那么使用正则表达式是您的最佳选择。但是,如果您不想使用它们,那么在管理它们的代码中会出现大量混乱 如何克服这个问题。有很多方法 使用字符串Api检查字符串中

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

代码不得包含以下内容:

  • 内置函数(除了
    String
    方法等)
  • 正则表达式
代码必须包含以下内容:

  • 循环
  • 收藏
我知道如果不使用正则表达式,电子邮件验证会更加困难,但在一次采访中,有人问过这个问题


是否有可能编写这样的代码或其他方法

如果您必须在本地执行正则表达式(而不是通过电子邮件进行验证),那么使用正则表达式是您的最佳选择。但是,如果您不想使用它们,那么在管理它们的代码中会出现大量混乱

如何克服这个问题。有很多方法

  • 使用字符串Api检查字符串中的@符号
  • 使用StringTokeniser标记给定字符串时,请使用条件检查
  • 将给定字符串拆分为多个子字符串并进一步拆分
  • 还有更多


    我建议您不要在编写锅炉板代码时遇到所有这些麻烦,并向正则表达式问好。

    如果您必须在本地使用正则表达式(而不是通过电子邮件进行验证),那么使用正则表达式是您的最佳选择。但是,如果您不想使用它们,那么在管理它们的代码中会出现大量混乱

    如何克服这个问题。有很多方法

  • 使用字符串Api检查字符串中的@符号
  • 使用StringTokeniser标记给定字符串时,请使用条件检查
  • 将给定字符串拆分为多个子字符串并进一步拆分
  • 还有更多


    我建议您不要在编写锅炉板代码时遇到所有这些麻烦,并向正则表达式问好。

    如果您必须在本地使用正则表达式(而不是通过电子邮件进行验证),那么使用正则表达式是您的最佳选择。但是,如果您不想使用它们,那么在管理它们的代码中会出现大量混乱

    如何克服这个问题。有很多方法

  • 使用字符串Api检查字符串中的@符号
  • 使用StringTokeniser标记给定字符串时,请使用条件检查
  • 将给定字符串拆分为多个子字符串并进一步拆分
  • 还有更多


    我建议您不要在编写锅炉板代码时遇到所有这些麻烦,并向正则表达式问好。

    如果您必须在本地使用正则表达式(而不是通过电子邮件进行验证),那么使用正则表达式是您的最佳选择。但是,如果您不想使用它们,那么在管理它们的代码中会出现大量混乱

    如何克服这个问题。有很多方法

  • 使用字符串Api检查字符串中的@符号
  • 使用StringTokeniser标记给定字符串时,请使用条件检查
  • 将给定字符串拆分为多个子字符串并进一步拆分
  • 还有更多


    我建议您不要在编写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=