这个项目能做什么

Google 的 libphonenumber 是一个广泛使用的库,用于解析、格式化和验证国际电话号码。它支持所有国家和地区,并提供 Java、C++ 和 JavaScript 版本。Java 版本针对智能手机进行了优化,自 Android 4.0 起已被 Android 框架使用。 主要功能包括: - 将电话号码解析并规范化为结构化对象 - 使用长度和前缀信息进行完整验证 - 仅基于长度进行快速可能性检查 - 以国际、国内和 E.164 格式进行格式化 - 实时输入时的即输即格式化 - 号码类型检测(固定电话、移动电话、免费电话、付费电话、VoIP 等) - 匹配两个号码的置信度评分 - 离线地理编码以提供位置描述 - 基于原始分配号码范围的运营商映射 - 电话号码的时区映射 - 在文本中查找嵌入的电话号码 该项目为所有地区提供示例号码,支持格式化从其他国家拨打的号码,并包含一个演示 Android 应用。它通过 Maven 分发以便 Java 集成,并提供在线 Javadoc。该库遵循结构化版本策略,大约每两周发布一次更新。 存在众多第三方移植版本,涵盖 Python、Go、Ruby、Rust、PHP、Swift、C#、Elixir 等语言,以及针对 Android 优化的版本和 JavaScript 替代方案。