1. 首页
  2. 软件开发
  3. 邮箱合法性的判断与indexOf()==-1的解释

邮箱合法性的判断与indexOf()==-1的解释

  • 发布于 2024-09-21
  • 0 次阅读

判断邮箱格式输入的对错,简化为是否有”.“,@,@前后是否有字符。

需要用到字符串的遍历比对,字符串的抓取与赋值。

代码主体:

public class youpanduanyouxiangshifouhefa {
    //判断输入的邮箱是否合法
    public static void main(String[] args) {
        //抓取命令
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入你的email:");
        //定义变量"email"
        // 将抓取字符串赋给变量"email"
        String email = scanner.next();
        //判断输入字符串里有没有@符号
        //有@就进入这个if
        if (email.indexOf("@") != -1) {
            //定义字符串变量substring,将第一个字符到@长度的字符截取出来
            String substring = email.substring(0, email.indexOf("@"));
            //该if用来判断@前是否有字符
            //如果截取出来的字符串长度为零,说明字符串中什么都没有
            if (substring.length() == 0) {
                //输出
                System.out.println("非法email,@前必须有字符");
                //反之就是有字符
            } else {
                //再进一步判断@之后有没有字符
                //用字符串定义substring1,将@后的所有字符截取并赋值给substring1
                String substring1 = email.substring(email.indexOf("@") + 1, email.length());
                //如果substring1的长度为零就说明@后没有字符
                if (substring1.length() == 0) {
                    //输出
                    System.out.println("非法email,@后必须有字符");
                    //反之就是有字符
                    //现在判断email中是否有"."
                } else {
                    //引入boolean
                    boolean is = false;
                    //用for循环查找email中是否有.
                    for (int i = 0; i < substring1.length(); i++) {
                        //每个字符拿出来看是否等于"."
                        if (substring1.charAt(i) == '.') {
                            is = true;
                        }
                    }
                    //如果变量是true说明含有"."
                    if (is) {
                        //输出
                        System.out.println("合法email");
                        //反之就没有.
                    } else {
                        //输出
                        System.out.println("非法email,没有.");
                    }

                }

            }
            //反之就没有@
        } else {
            //输出
            System.out.println("没有@,不合法");
        }
    }
}

注意:

indexOf()==-1中的indexOf()代表一个字符串是否包含在另一个字符串中,==-1表示没找到,同理

!=-1表示找到了。



输出结果:

原文链接: https://blog.csdn.net/daibadetianshi/article/details/136787531