14
社区成员




当判断手机号合法性时,可以使用正则表达式进行匹配。以下是一个用 Java 编写的函数示例,用于判断手机号的合法性:
public class PhoneNumberValidator {
public static boolean isValidPhoneNumber(String phoneNumber) {
// 使用正则表达式匹配手机号格式
String regex = "^(\\+?\\d{1,4})?[-.\\s]?((\\(\\d{1,3}\\))|\\d{1,3})[-.\\s]?\\d{1,4}[-.\\s]?\\d{1,9}$";
return phoneNumber.matches(regex);
}
public static void main(String[] args) {
String phoneNumber1 = "+86 123456789";
String phoneNumber2 = "123-4567-89";
String phoneNumber3 = "(123) 456-789";
String phoneNumber4 = "12345678901";
System.out.println(phoneNumber1 + " is valid? " + isValidPhoneNumber(phoneNumber1));
System.out.println(phoneNumber2 + " is valid? " + isValidPhoneNumber(phoneNumber2));
System.out.println(phoneNumber3 + " is valid? " + isValidPhoneNumber(phoneNumber3));
System.out.println(phoneNumber4 + " is valid? " + isValidPhoneNumber(phoneNumber4));
}
}
此函数中的 isValidPhoneNumber 方法接受一个字符串参数 phoneNumber,并返回一个布尔值,指示该手机号是否合法。在 main 方法中,我们提供了一些示例手机号进行测试,并打印出它们的合法性结果。
请注意,上述正则表达式仅适用于常见的手机号格式,并不考虑所有可能的情况。您可以根据实际需求进行调整和扩展。