Java 实体类手机号校验

引言

手机号码是我们日常生活中最常见的联系方式,因此在开发中经常需要对手机号进行校验。本文将介绍如何在 Java 实体类中对手机号进行校验,并提供相应的代码示例。

手机号校验规则

手机号校验规则因地区而异,不同地区的手机号长度和格式可能有所不同。以中国大陆为例,手机号长度为11位,格式为13、15、16、17、18、19开头的数字串。

Java 实体类手机号校验的实现

步骤 1:创建实体类

首先,我们需要创建一个 Java 实体类来表示手机号。假设该实体类为 Phone,包含一个 number 字段用于存储手机号。代码示例如下:

public class Phone {
    private String number;

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }
}

步骤 2:实现手机号校验方法

Phone 类中,我们可以添加一个 validateNumber() 方法来对手机号进行校验。校验方法可以根据校验规则判断手机号的长度和格式是否符合要求。代码示例如下:

public class Phone {
    private String number;

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public boolean validateNumber() {
        // 校验手机号长度是否为11位
        if (number.length() != 11) {
            return false;
        }

        // 校验手机号格式是否符合要求
        String regex = "^(13|15|16|17|18|19)\\d{9}$";
        return number.matches(regex);
    }
}

步骤 3:测试手机号校验方法

为了验证手机号校验方法的正确性,我们可以编写一个简单的测试类来测试。代码示例如下:

public class PhoneValidationTest {
    public static void main(String[] args) {
        Phone phone1 = new Phone();
        phone1.setNumber("13812345678");
        System.out.println(phone1.validateNumber()); // 输出:true

        Phone phone2 = new Phone();
        phone2.setNumber("12345678901");
        System.out.println(phone2.validateNumber()); // 输出:false
    }
}

流程图

下面是手机号校验的流程图:

flowchart TD
    A(开始)
    B{手机号长度是否为11位?}
    C{手机号格式是否符合要求?}
    D(校验失败)
    E(校验成功)
    
    A --> B
    B -- 是 --> C
    B -- 否 --> D
    C -- 是 --> E
    C -- 否 --> D
    D --> E

总结

本文介绍了如何在 Java 实体类中对手机号进行校验。通过创建实体类和实现校验方法,我们可以方便地对手机号进行验证,确保其符合规定的长度和格式。在实际开发中,手机号校验是一个常见的需求,希望本文的内容能帮助读者更好地理解和应用手机号校验的方法。

参考代码

public class Phone {
    private String number;

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public boolean validateNumber() {
        // 校验手机号长度是否为11位
        if (number.length() != 11) {
            return false;
        }

        // 校验手机号格式是否符合要求
        String regex = "^(13|15|16|17|18|19)\\d{9}$";
        return number.matches(regex);
    }
}

public class PhoneValidationTest {
    public static void main(String[] args) {
        Phone phone1 = new Phone();
        phone1.setNumber("13812345678");
        System.out.println(phone1.validateNumber()); // 输出:true

        Phone phone2 = new Phone();
        phone2.setNumber("12345678901");
        System.out.println(phone2.validateNumber()); // 输出:false
    }
}

参考资料

  • [Java 正则表达式](