Java代码实现非正则表达式检验邮箱格式是否合法

一、邮箱格式需满足以下要求

1. 有且只有一个@

2. @不能放在开头,也不能放在结尾

3. @之后必须有.

4. @之前或之后不能紧跟.

5. @之前要有6个字符

6. 以com、org、cn、net结尾

二、代码实现

1. 实现代码

package homework3;
  //邮箱检验是否合格
public class CheckEmail {

    public boolean isEmail(String email) {
        //判断是否为空邮箱
        int k = 0;
        if(email == null) {
            return false;
        }
        /*
          * 单引号引的数据 是char类型的
                                    双引号引的数据 是String类型的
                                    单引号只能引一个字符
                                    而双引号可以引0个及其以上*
          */

        //判断是否有仅有一个@且不能在开头或结尾
        if(email.indexOf("@") > 0 && email.indexOf('@') == email.lastIndexOf('@') && email.indexOf('@') < email.length()-1) {
            k++;
        }
       
        //判断"@"之后必须有"."且不能紧跟
        if(email.indexOf('.',email.indexOf('@')) > email.indexOf('@')+1 ) {
            k++;
        }
        //判断"@"之前或之后不能紧跟"."
        if(email.indexOf('.') < email.indexOf('@')-1 || email.indexOf('.') > email.indexOf('@')+1 ) {
            k++;
        }
        //@之前要有6个字符
        if(email.indexOf('@') > 5 ) {
            k++;
        }
       
        if(email.endsWith("com") || email.endsWith("org") || email.endsWith("cn") ||email.endsWith("net")) {
            k++;
        }
        if(k == 5) {
            return true;
        }
        return false;
       
    }
}

2. 测试代码

package homework3;

import java.util.Scanner;

public class EmailTest {
    public static void main(String[] args) {
        do
        { Scanner sc = new Scanner(System.in); 
        System.out.println("请输入你的邮箱:"); 
        String str = sc.nextLine();  //读取字符串型输入 
        CheckEmail email = new CheckEmail();
        boolean result = email.isEmail(str);
        if(result) {
            System.out.println("邮箱地址合法");
        }else {
            System.out.println("邮箱地址不合法");
        }
        System.out.println("  ");
    }
        while(true);
  }
}

3. 测试结果

三、总结

        这是我的第一篇文章,但是却见证着我的学习与成长。

        本人Java小白一枚,正在努力追赶,希望有志同道合的小伙伴可以共勉,一起努力学习,一起进步。

猜你喜欢

转载自www.linuxidc.com/Linux/2018-05/152362.htm