怎样判断手机号码是移动的还是联通的
2010-04-11 13:00
771 查看
天天好心情,好好写blog
今天遇到了一个问题,给一个手机号码,怎样判断它是移动的还是联通的。我自己查了一些资料,咨询了一些朋友。不知道是否全面,想和大家研究一下。当然我指的是业务逻辑是否正确,并不是程序本身。用java实现的:
/**
* 判断号码是联通,移动,电信中的哪个,
* 在使用本方法前,请先验证号码的合法性 规则:前三位为130-133 联通 ;前三位为135-139或前四位为1340-1348 移动; 其它的应该为电信
* @param mobile要判断的号码
* @return 返回相应类型:1代表联通;2代表移动;3代表电信
*/
public static String getMobileType(String mobile) {
if(mobile.startsWith("0") || mobile.startsWith("+860")){
mobile = mobile.substring(mobile.indexOf("0") + 1, mobile.length());
}
List chinaUnicom = Arrays.asList(new String[] {"130","131","132","133"}) ;
List chinaMobile1 = Arrays.asList(new String[] {"135","136","137","138","139","158","159"}) ;
List chinaMobile2 = Arrays.asList(new String[] {"1340","1341","1342","1343","1344","1345","1346","1347","1348"}) ;
boolean bolChinaUnicom = (chinaUnicom.contains(mobile.substring(0,3))) ;
boolean bolChinaMobile1 = (chinaMobile1.contains(mobile.substring(0,3))) ;
boolean bolChinaMobile2 = (chinaMobile2.contains(mobile.substring(0,4))) ;
if (bolChinaUnicom)
return "1" ;//联通
if ( bolChinaMobile1 || bolChinaMobile2 )
return "2" ; //移动
return "3" ; //其他为电信
}
今天遇到了一个问题,给一个手机号码,怎样判断它是移动的还是联通的。我自己查了一些资料,咨询了一些朋友。不知道是否全面,想和大家研究一下。当然我指的是业务逻辑是否正确,并不是程序本身。用java实现的:
/**
* 判断号码是联通,移动,电信中的哪个,
* 在使用本方法前,请先验证号码的合法性 规则:前三位为130-133 联通 ;前三位为135-139或前四位为1340-1348 移动; 其它的应该为电信
* @param mobile要判断的号码
* @return 返回相应类型:1代表联通;2代表移动;3代表电信
*/
public static String getMobileType(String mobile) {
if(mobile.startsWith("0") || mobile.startsWith("+860")){
mobile = mobile.substring(mobile.indexOf("0") + 1, mobile.length());
}
List chinaUnicom = Arrays.asList(new String[] {"130","131","132","133"}) ;
List chinaMobile1 = Arrays.asList(new String[] {"135","136","137","138","139","158","159"}) ;
List chinaMobile2 = Arrays.asList(new String[] {"1340","1341","1342","1343","1344","1345","1346","1347","1348"}) ;
boolean bolChinaUnicom = (chinaUnicom.contains(mobile.substring(0,3))) ;
boolean bolChinaMobile1 = (chinaMobile1.contains(mobile.substring(0,3))) ;
boolean bolChinaMobile2 = (chinaMobile2.contains(mobile.substring(0,4))) ;
if (bolChinaUnicom)
return "1" ;//联通
if ( bolChinaMobile1 || bolChinaMobile2 )
return "2" ; //移动
return "3" ; //其他为电信
}
相关文章推荐
- 怎样判断手机号码是移动的还是联通的?
- android代码判断当前手机的手机号码是属于移动、联通、还是电信的
- android代码判断当前手机的手机号码是属于移动、联通、还是电信的
- 判断手机号码属于哪个地区 哪个运营商(移动、联通、电信、)
- 判断是否为手机号码(包含移动联通小灵通)
- 判断手机号码是否合法(移动,联通,电信)
- JS判断手机号码和联通手机号码
- 匹配移动,联通,电信手机号码正则表达式
- Android端如何获取手机当前的网络状态,比如wifi还是3G, 还是2G, 电信还是联通,还是移动
- 匹配移动/联通/电信手机号码正则表达式小结
- 判断手机所属三大运营商 移动、联通、电信
- 匹配移动,联通,电信手机号码正则表达式
- PHP判断客户端是PC web端还是移动手机端方法
- 移动web判断手机系统是安卓还是ios的解决办法
- android 怎么判断手机号是移动还是联通
- 如何判断手机用户是移动,电信,联通?
- [Android Pro] 通过IMSI判断手机是移动、联通、电信
- 判断当前的浏览段是pc还是移动设备,如果是手机,就跳转到对应手机端网站
- 匹配移动,联通,电信手机号码正则表达式
- 判断当前的浏览器是pc还是移动设备,如果是手机,就跳转到对应手机端网站