iphone 通过获取IMSI判断运营商
IMSI 共有 15 位,其结构如下:
MCC+MNC+MSIN ,( MNC+MSIN=NMSI )
MCC : Mobile Country Code ,移动国家码, MCC 的资源由国际电联( ITU )统一分配和管理,唯一识别移动用户所属的国家,共 3 位,中国为 460;
MNC:Mobile Network Code ,移动网络码,共 2 位,中国移动 TD 系统使用 00 ,中国联通 GSM 系统使用 01 ,中国移动 GSM 系统使用 02 ,中国电信 CDMA 系统使用 03 ,一个典型的 IMSI 号码为 460030912121001;
MSIN:Mobile Subscriber Identification Number 共有 10 位,其结构如下:
09+M0M1M2M3+ABCD
其中的 M0M1M2M3 和 MDN 号码中的 H0H1H2H3 可存在对应关系, ABCD 四位为自由分配。
这样就可以依据 IMSI 中的 MCC 和 MNC 来确定运营商了。当然知道编码规则同时还是需要知道对应编码的的国家和网络了。
实现的代码如下:
/* China - CN
* MCC MNC Brand Operator Status Bands (MHz) References and notes
* 460 00 China Mobile Operational GSM 900/GSM 1800 UMTS (TD-SCDMA) 1880/2010
* 460 01 China Unicom Operational GSM 900/GSM 1800/ UMTS 2100 CDMA network sold to China Telecom, WCDMA commercial trial started in May 2009 and in full commercial operation as of October 2009.
* 460 02 China Mobile Operational GSM 900/GSM 1800/ UMTS (TD-SCDMA) 1880/2010
* 460 03 China Telecom Operational CDMA 800/cdma evdo 2100
* 460 05 China Telecom Operational
* 460 06 China Unicom Operational GSM 900/GSM 1800/UMTS 2100
* 460 07 China Mobile Operational GSM 900/GSM 1800/UMTS (TD-SCDMA) 1880/2010
* 460 20 China Tietong Operational GSM-R
* NA NA China Telecom&China Unicom Operational
*/
+ (NSString*)getCarrier:(NSString*)imsi
{
if (imsi == nil || [imsi isEqualToString:@"SIM Not Inserted"] ) {
return @"Unknown";
}
else {
if ([[imsi substringWithRange:NSMakeRange(0, 3)] isEqualToString:@"460"]) {
NSInteger MNC = [[imsi substringWithRange:NSMakeRange(3, 2)] intValue];
switch (MNC) {
case 00:
case 02:
case 07:
return @"China Mobile";
break;
case 01:
case 06:
return @"China Unicom";
break;
case 03:
case 05:
return @"China Telecom";
break;
case 20:
return @"China Tietong";
break;
default:
break;
}
}
}
return @"Unknown";
}
iphone 通过获取IMSI判断运营商相关推荐
- 手机IMSI码规则更新-通过IMSI判断运营商的方法
ps:权限需要注意下: READ_PHONE_STATE 读取手机的状态权限可以通过查找TelephonyManager.有些方法需要权限,比如getLine1Number(),getSubscrib ...
- 通过IMSI判断运营商的方法
因为某些SIM/USIM卡没有写入卡号,所以通过相关接口读取手机号的时候可能为空,鉴于此,使用IMSI的MCC/MNC来判断运营商是比较准确的选择: public static boolean isC ...
- iPhone判断运营商
2019独角兽企业重金招聘Python工程师标准>>> - (NSString *)getCarrier { NSString *strCarrier = nil; CTTeleph ...
- mysql通过正则表达式根据手机号判断运营商
最近在做一个大数据项目,其中涉及到数据需要从一个库抽到另一个库,抽取的过程中需要做一些数据清洗和转换,然后就遇到了需要根据手机号判断运营商的需求,编写sql尝试了两三个小时,才解决掉这个问题,在此写个 ...
- 根据IMSI区别运营商
根据IMSI区别运营商 IMSI说明 MNC 和 各个运营商的对照表 (持续更新) IMSI说明 国际移动用户识别码即IMSI(International Mobile Subscriber Iden ...
- 最全的根据号码判断运营商的工具类
最全的根据传入号码判断该号码属于哪个运营商的工具类 public class OperatorUtils {private static String CMCC = "移动";pr ...
- php匹配运营商,PHP根据手机号判断运营商方法分享
本文主要介绍了PHP根据手机号判断运营商,详细介绍附代码,大家可以根据最新的号段进行添加即可,通过正则判断实现,需要的朋友可以参考下,希望能帮助到大家. 道理很简单,知道手机号规则 进行正则判断就可以 ...
- php判断运营商,PHP根据手机号判断运营商
这篇文章主要介绍了PHP根据手机号判断运营商,详细介绍附代码,大家可以根据最新的号段进行添加即可,通过正则判断实现,需要的朋友可以参考下 道理很简单,知道手机号规则 进行正则判断就可以 移动:134. ...
- php判断运营商,PHP如何实现根据手机号判断运营商(实例)
本篇文章主要介绍PHP如何实现根据手机号判断运营商,感兴趣的朋友参考下,希望对大家有所帮助. HTML页面 手机号归属 //修改为自己的路径 /* 移动:134.135.136.137.138.139 ...
最新文章
- 用最少的时间学最多的数据挖掘知识(附教程数据源)| CSDN博文精选
- python csv读取-Python读取csv文件(详解版,看了无师自通)
- (江西财经大学第二届程序设计竞赛同步赛)E-是不是复读机
- 回调函数(CALLBACK)学习总结
- 一步步实现SDDC-部署VC后的配置
- 训练集、验证集、测试集详解和极其作用
- [ActionScript 3.0] 通过as3操作web内容
- 俄罗斯方块c语言游戏代码大全,C语言实现俄罗斯方块小游戏
- C51单片机实验——定时器实验
- 大数据发展的7个趋势
- C# 读取写入Json文件
- pt tools 绑定pt站点失败 解决的3种方法
- android中APK开机自动运行
- 全国企业信用信息 网站
- 零散专题32 生成PDF
- SteamVR 2.x手部模型、控制器的替换(12)
- 关于亚马逊测评自养号IP的使用
- 3d游戏建模|3D电影、游戏角色是怎么制作的?
- java实习面试复盘(22年广州番禺)
- Tableau数据分析-Chapter13雷达图和凹凸图
热门文章
- 计算机新建用户会不会速度快,创建帐户让电脑系统速度比重装还快
- example 排序_个性化推荐系统源代码之基于 WideDeep模型的在线排序
- 统计字符串中每个字符的个数_C++程序设计——统计数字字符个数
- python中索引和下标_Series下标索引、标签索引、切片索引、布尔索引
- mysql 排名_SQL语句mysql排名、分组后组内排名、取各组的前几名
- linux tlhelp32.h,CreateToolhelp32Snapshot
- python自助电影售票机_Spring Cloud版——电影售票系统六使用 Spring Cloud Config 统一管理微服务配置...
- 如何把程序挂在远端服务器python_Pycharm连接远程服务器并实现远程调试的实现...
- D3 Geographies
- python jsonpath