欢迎访问宙启技术站
智能推送

Java函数实现校验字符串是否为合法手机号码

发布时间:2023-11-02 06:54:04

要校验一个字符串是否为合法手机号码,可以使用正则表达式来进行校验。以下是一个Java函数实现:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class PhoneNumberValidator {

    public static boolean isValidPhoneNumber(String phoneNumber) {

        // 创建一个正则表达式模式,用于匹配手机号码的格式
        String regex = "^1[3456789]\\d{9}$";

        // 将正则表达式编译为模式
        Pattern pattern = Pattern.compile(regex);

        // 创建一个匹配器,用于匹配输入的手机号码
        Matcher matcher = pattern.matcher(phoneNumber);

        // 检查手机号码是否匹配模式
        return matcher.matches();
    }

    public static void main(String[] args) {
        String phoneNumber = "13812345678";
        if (isValidPhoneNumber(phoneNumber)) {
            System.out.println(phoneNumber + " 是一个合法的手机号码");
        } else {
            System.out.println(phoneNumber + " 不是一个合法的手机号码");
        }
    }
}

在上述代码中,isValidPhoneNumber函数接受一个字符串参数phoneNumber并返回一个布尔值。在函数内部,我们使用正则表达式^1[3456789]\\d{9}$来匹配手机号码的格式。

解释一下正则表达式的含义:

- ^ 表示匹配字符串的开始位置

- 1 表示以数字1开头

- [3456789] 表示匹配一个数字3、4、5、6、7、8或9

- \\d{9} 表示匹配9个数字字符

- $ 表示匹配字符串的结束位置

所以,根据以上规则,一个合法的手机号码应以数字1开头,然后是3、4、5、6、7、8或9,紧接着是9个数字字符,总共11位数字。

main函数中,我们调用isValidPhoneNumber函数来校验一个字符串是否是合法的手机号码,并打印相应的结果。

以上是一个简单的Java函数实现校验字符串是否为合法手机号码的方法,可以根据实际需求进行调整和扩展。