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语言校验电话号码的完整实现过程。通过按照上述步骤编写代码,就可以对电话