<dependency>
<groupId>com.googlecode.libphonenumber</groupId>
<artifactId>libphonenumber</artifactId>
<version>8.13.47</version>
</dependency>
编写校验逻辑:
使用libphonenumber库中的PhoneNumberUtil类来解析和验证电话号码。
package com.lvue.springbootplus.ip;
import com.google.i18n.phonenumbers.NumberParseException;
import com.google.i18n.phonenumbers.PhoneNumberUtil;
import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
public class PhoneNumberValidator {
public static boolean isValidPhoneNumber(String phoneNumber, String regionCode) {
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
try {
PhoneNumber numberProto = phoneUtil.parse(phoneNumber, regionCode);
return phoneUtil.isValidNumber(numberProto);
} catch (NumberParseException e) {
return false;
}
}
public static void main(String[] args) {
String phoneNumber = "+8613800138000"; // 包含国家代码的国际格式
String regionCode = "CN"; // 国家代码,例如中国的国家代码是CN或86
if (isValidPhoneNumber(phoneNumber, regionCode)) {
System.out.println(phoneNumber + " is a valid phone number.");
} else {
System.out.println(phoneNumber + " is NOT a valid phone number.");
}
}
}