JAVA 校验电话号码实现

介绍

在日常开发中,我们经常需要对电话号码进行校验,以确保用户输入的电话号码格式正确。本文将教会你如何使用JAVA语言实现电话号码的校验。

整体流程

下表展示了实现电话号码校验的整体流程:

步骤 描述
1 获取用户输入的电话号码
2 检查电话号码长度是否合法
3 检查电话号码是否只包含数字
4 检查电话号码的区号是否合法
5 检查电话号码的前缀是否合法
6 检查电话号码的后缀是否合法
7 输出校验结果

代码实现

1. 获取用户输入的电话号码

import java.util.Scanner;

public class PhoneNumberValidator {
    public static void main(String[] args) {
        // 创建Scanner对象
        Scanner scanner = new Scanner(System.in);
        
        // 提示用户输入电话号码
        System.out.print("请输入电话号码: ");
        
        // 获取用户输入的电话号码
        String phoneNumber = scanner.nextLine();
        
        // 关闭Scanner对象
        scanner.close();
    }
}

以上代码中,我们首先导入java.util.Scanner类,用于获取用户的输入。然后创建一个Scanner对象,通过调用nextLine()方法获取用户输入的电话号码,并将其存储在phoneNumber变量中。

2. 检查电话号码长度是否合法

if (phoneNumber.length() != 11) {
    System.out.println("电话号码长度不合法");
    return;
}

以上代码通过判断电话号码的长度是否等于11来检查电话号码长度是否合法。如果不合法,则输出提示信息并结束程序。

3. 检查电话号码是否只包含数字

if (!phoneNumber.matches("\\d+")) {
    System.out.println("电话号码只能包含数字");
    return;
}

以上代码使用正则表达式\\d+来判断电话号码是否只包含数字。如果不是,则输出提示信息并结束程序。

4. 检查电话号码的区号是否合法

if (!phoneNumber.startsWith("1")) {
    System.out.println("电话号码区号不合法");
    return;
}

以上代码使用startsWith()方法判断电话号码是否以"1"开头,如果不是,则输出提示信息并结束程序。

5. 检查电话号码的前缀是否合法

String prefix = phoneNumber.substring(1, 4);
if (!prefix.matches("[3-9]\\d{2}")) {
    System.out.println("电话号码前缀不合法");
    return;
}

以上代码使用substring()方法获取电话号码的前三位数字,并使用正则表达式[3-9]\\d{2}判断前缀是否合法。如果不合法,则输出提示信息并结束程序。

6. 检查电话号码的后缀是否合法

String suffix = phoneNumber.substring(4);
if (!suffix.matches("\\d{4}")) {
    System.out.println("电话号码后缀不合法");
    return;
}

以上代码使用substring()方法获取电话号码从第四位开始的所有字符,并使用正则表达式\\d{4}判断后缀是否合法。如果不合法,则输出提示信息并结束程序。

7. 输出校验结果

System.out.println("电话号码校验通过");

以上代码用于输出电话号码校验通过的提示信息。

关系图

下图是电话号码校验的关系图示例:

erDiagram
    PhoneNumber ||--|{ PhoneNumberValidator : has
    PhoneNumberValidator ||--|{ PhoneNumberValidator : validates

状态图

下图是电话号码校验的状态图示例:

stateDiagram
    [*] --> GetPhoneNumber
    GetPhoneNumber --> CheckLength
    CheckLength --> CheckDigits
    CheckDigits --> CheckAreaCode
    CheckAreaCode --> CheckPrefix
    CheckPrefix --> CheckSuffix
    CheckSuffix --> [*]

以上就是使用JAVA语言校验电话号码的完整实现过程。通过按照上述步骤编写代码,就可以对电话