jieeit / phone
手机号归属地查询,手机号码归属地信息库, 522410条数据, 截止时间2026年10月22日, 目前是全网最全的数据
v1.0.3
2026-10-24 12:51 UTC
Requires
- php: ^7.0 || ^8.0
Requires (Dev)
- phpunit/phpunit: ^10.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
可能是目前Github最全的手机号归属地及所属运营商查询库,支持虚拟运营商与物联卡。
- 数据截止:2026年10月22日
- 手机号段记录条数:522,410
- 虚拟运营商号段:15,471 条(其中 11,827 条仅标记为“虚拟运营商”,其余 3,644 条有具体品牌)
- 基于 PHP 实现,采用二分查找法,查询高效
- 归属地数据文件大小:6,275,209 字节
安装
composer require jieeit/phone
使用
<?php require __DIR__ . '/vendor/autoload.php'; use Jieeit\Phone\Facade\Phone; try { $info = Phone::find('13213000000'); var_dump(json_encode($info, JSON_UNESCAPED_UNICODE)); } catch (InvalidArgumentException $e) { // 手机号段不存在 echo '查询失败:' . $e->getMessage(); }
输出示例:
{
"phone": "13213000000",
"province": "河南",
"city": "郑州",
"operator": "联通",
"virtual_operator": ""
}
响应参数
| 参数 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| phone | string | 查询号码 | 13213000000 |
| province | string | 省份 | 河南 |
| city | string | 城市 | 郑州 |
| operator | string | 基础运营商,固定为 移动、联通、电信、广电 之一 |
联通 |
| virtual_operator | string | 非空表示虚拟运营商;可能是具体品牌或“虚拟运营商” | 易索得移动 |
虚拟运营商处理规则
虚拟运营商会自动归类到四大基础运营商(移动 / 联通 / 电信 / 广电),并额外返回原始运营商名称。
| 字段 | 说明 |
|---|---|
operator |
归类后的基础运营商 |
virtual_operator |
原始虚拟运营商名称(如 迪信通) |
支持的虚拟运营商列表(部分):
铁通、天音移动、小米移动、星美通讯、星美通信、长江时代、海航通信、国美极信、民生通讯、朗玛移动、迪信通、京东通信、分享在线、话机通信、话机世界、用友通信、三五互联、联想懂的、连连科技、丰信通信、乐语通信、爱施德、虚拟运营商、中兴视通、中邮世纪、世纪互联、银盛通信、中邮普泰、华翔联信、苏宁互联、鹏博士移动、国美通信、优友互联、博元讯息、阿里通信、中期移动、远特信时空、广东恒大、红豆集团、星美生活、网信移动、分享通信、无限互联、日日顺通信、北纬通信、远特通信、长城移动、中麦通信、巴士在线、普泰移动、蜗牛移动、全民优打、豆电信、优酷移动、华云互联
phone.dat 文件格式
┌───────────────┬───────────────┬────────────────────────────────┐
│ 偏移(字节) │ 大小(字节) │ 说明 │
├───────────────┼───────────────┼────────────────────────────────┤
│ 0 │ 4 │ 文件魔数(JPHN) │
│ 4 │ 2 │ 版本号(当前为 3) │
│ 6 │ 2 │ 保留字段 │
│ 8 │ 4 │ 记录总数 │
│ 12 │ 4 │ 索引区偏移 │
│ 16 │ 4 │ 索引区长度 │
│ 20 │ 4 │ 字典区偏移 │
│ 24 │ 4 │ 字典区长度 │
│ 28 │ 4 │ 城市字典数量 │
│ 32 │ 4 │ 保留字段 │
├───────────────┼───────────────┼────────────────────────────────┤
│ 36 │ 变长 │ 索引区(每条固定 12 字节) │
│ │ │ └─ 手机号前7位(uint32) │
│ │ │ └─ city_id(uint32) │
│ │ │ └─ carrier_id(uint16) │
│ │ │ └─ base_carrier_id(uint16) │
├───────────────┼───────────────┼────────────────────────────────┤
│ 变长 │ 变长 │ 字典区(省份/城市文本) │
│ │ │ └─ uint16 长度前缀 + 文本数据 │
└───────────────┴───────────────┴────────────────────────────────┘
- 头部总长度:36 字节
- 编码方式:字典区顺序存储,使用
uint16长度前缀编码
开源协议
MIT License