解析一个邮箱地址是否合法,如果合法则打印出用户名部分和该邮箱所属的网站域名,如果邮箱地址不合法则显示不合法的原因

版权声明:https://blog.csdn.net/qq_35849955 https://blog.csdn.net/qq_35849955/article/details/82876878

方法体:

public static boolean mailtest() {
        System.out.println("请输入你的邮箱地址:");
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        // 5.1.1邮箱地址中不包含@或.
        if (s.indexOf("@") == -1 || s.indexOf(".") == -1) {
            System.out.println("输入的邮箱不合法没有包含@和.");
            return false;
        }
        // 5.1.2邮箱地址中含有多了@或.
        if (s.indexOf("@") != s.lastIndexOf("@")|| s.indexOf(".") != s.lastIndexOf(".")) {
            System.out.println("输入的邮箱中包含了多个的@和.");
            return false;
        }
        // 5.1.3邮箱地址中.出现在@的前面
        if (s.lastIndexOf("@") > s.lastIndexOf(".")) {
            System.out.println("输入的邮箱地址中.出现在了@前面");
            return false;
        }
        // 5.1.4用户名里有其他字符
        for (int i = 0; i < s.indexOf("@"); i++) {
            if (s.charAt(i) >= 'a' && s.charAt(i) <= 'z' 
                    || s.charAt(i) >= 'A'&& s.charAt(i) <= 'Z'
                    ||s.charAt(i) >= '0'&& s.charAt(i) <= '9') {
                return true;
            } else {
                System.out.println("邮箱中包含了其他字符");
                return false;
            }
        }
        return true;
    }

main方法:

public class mailtest {
    public static void main(String[] args) {
        
        if(email()){
            System.out.println("邮箱格式合法");
        }else{
            System.out.println("邮箱格式不合法");
        }
    }

猜你喜欢

转载自blog.csdn.net/qq_35849955/article/details/82876878