Class PhoneValidator

java.lang.Object
cloud.opencode.base.sms.validation.PhoneValidator

public final class PhoneValidator extends Object
Phone Validator 手机号验证器

Validates phone numbers.

验证手机号码。

Features | 主要功能:

  • China mobile number validation - 中国手机号验证
  • E.164 international format validation - E.164国际格式验证
  • Phone number masking for security - 手机号脱敏

Usage Examples | 使用示例:

boolean valid = PhoneValidator.isValidChinaMobile("13800138000"); // true
boolean e164 = PhoneValidator.isValidE164("+8613800138000");     // true
String masked = PhoneValidator.mask("13800138000");               // "138****8000"

Security | 安全性:

  • Thread-safe: Yes (stateless utility) - 线程安全: 是(无状态工具类)
  • Null-safe: Yes - 空值安全: 是
Since:
JDK 25, opencode-base-sms V1.0.0
Author:
Leon Soo www.LeonSoo.com
See Also:
  • Method Details

    • isValidChinaMobile

      public static boolean isValidChinaMobile(String phone)
      Validate China mobile phone number 验证中国大陆手机号
      Parameters:
      phone - the phone number | 手机号
      Returns:
      true if valid | 如果有效返回true
    • isValidE164

      public static boolean isValidE164(String phone)
      Validate E.164 format phone number 验证E.164格式手机号
      Parameters:
      phone - the phone number | 手机号
      Returns:
      true if valid | 如果有效返回true
    • isValid

      public static boolean isValid(String phone)
      Validate phone number (any format) 验证手机号(任意格式)
      Parameters:
      phone - the phone number | 手机号
      Returns:
      true if valid | 如果有效返回true
    • validate

      public static void validate(String phone)
      Validate phone number and throw if invalid 验证手机号,无效则抛出异常
      Parameters:
      phone - the phone number | 手机号
      Throws:
      SmsException - if invalid | 如果无效
    • validateAll

      public static void validateAll(List<String> phones)
      Validate all phone numbers 验证所有手机号
      Parameters:
      phones - the phone numbers | 手机号列表
      Throws:
      SmsException - if any invalid | 如果有无效的
    • mask

      public static String mask(String phone)
      Mask phone number for logging 脱敏手机号用于日志
      Parameters:
      phone - the phone number | 手机号
      Returns:
      the masked phone | 脱敏后的手机号
    • normalize

      public static String normalize(String phone)
      Normalize phone number 标准化手机号
      Parameters:
      phone - the phone number | 手机号
      Returns:
      the normalized phone | 标准化后的手机号
    • extractCountryCode

      public static String extractCountryCode(String phone)
      Extract country code 提取国家代码
      Parameters:
      phone - the phone number | 手机号
      Returns:
      the country code | 国家代码