PHP生成手机虚拟号
国内正规虚拟运营商(虚拟号)全部号段
五大核心开头段:162、165、167、170、171,全部属于虚商号码
按租用基础运营商细分:
1. 电信网络虚商号段
- 162
- 1700、1701、1702
2. 移动网络虚商号段
- 165
- 1703、1705、1706
3. 联通网络虚商号段
- 167
- 1704、1707、1708、1709
- 整个 171 全段(1710~1719)
快速记忆
- 电信虚商:162、1700/1701/1702
- 移动虚商:165、1703/1705/1706
- 联通虚商:167、1704/1707~1709、171 全段
补充区分(容易混淆非虚商号段)
172、173、174、175、176、177、178、179 均为三大运营商自营手机号段,不是虚拟号; 140/141/144/146/148 为物联网卡,不属于个人通话虚拟手机号;1349 是卫星电话号段。
风险提示
这 5 个号段是骚扰、诈骗、催收高发号段;快递隐私小号、网约车中间号也会使用此类号段,陌生来电需谨慎甄别。
PHP代码
<?php
header('Content-Type: application/json');
// 号段配置
$segments = [
['name' => '中国移动', 'prefixes' => ['134','135','136','137','138','139','147','148','150','151','152','157','158','159','172','178','182','183','184','187','188','195','197','198']],
['name' => '中国联通', 'prefixes' => ['130','131','132','145','146','155','156','166','167','171','175','176','185','186','196']],
['name' => '中国电信', 'prefixes' => ['133','149','153','173','174','177','180','181','189','190','191','193','199']],
['name' => '虚拟运营商', 'prefixes' => ['170','171']],
['name' => '广电', 'prefixes' => ['192']],
];
// 号段 -> 运营商名映射
$prefixToName = [];
foreach ($segments as $seg) {
foreach ($seg['prefixes'] as $p) {
$prefixToName[$p] = $seg['name'];
}
}
try {
$inputPrefixes = isset($_POST['prefix']) ? $_POST['prefix'] : [];
if (!is_array($inputPrefixes)) {
$inputPrefixes = [$inputPrefixes];
}
// 过滤有效号段
$validPrefixes = array_filter(array_map('strval', $inputPrefixes), function($p) use ($prefixToName) {
return isset($prefixToName[$p]);
});
// 没有有效号段时使用全部
if (empty($validPrefixes)) {
$allPrefixes = [];
foreach ($segments as $seg) {
$allPrefixes = array_merge($allPrefixes, $seg['prefixes']);
}
$validPrefixes = $allPrefixes;
}
$validPrefixes = array_values($validPrefixes);
$prefix = $validPrefixes[array_rand($validPrefixes)];
// 生成后8位随机数字
$random = '';
for ($i = 0; $i < 8; $i++) {
$random .= mt_rand(0, 9);
}
$phoneNumber = $prefix . $random;
echo json_encode([
'success' => true,
'phone_number' => $phoneNumber,
'segment_name' => isset($prefixToName[$prefix]) ? $prefixToName[$prefix] : '随机'
]);
} catch (Exception $e) {
echo json_encode([
'success' => false,
'message' => $e->getMessage()
]);
}
0
1