您的当前位置:首页正文

【Java】判断电话号码所属的运营商

2024-11-22 来源:个人技术集锦

你的电话号码是哪一家运营商的?移动?联通还是电信?我经过一番查找资料后发现电话号码的号段的一个分布规律……那就是没有啥规律……

  1. 中间4到7位数字代表不同的地区,由运营商统一分配,但随着手机用户的不断增多,许多不规则的号码出现了,所以中间代表数也就不再有规律。
  2. 最后四位数字代表移动电话用户,由归属位置寄存器HLR进行自由分配

public class Phone {
	public static void main(String[] args) {
		String isMoblie="((13[4-9])|147|(15[0-2])|(15[7-9])|(17[2,8])|(18[2-4])|(18[7-8])|(19[5,7,8]))\\d{8}";
		String isUnicom="((13[0-2])|(14[0,5,6])|(15[5-6])|166|(17[5,6])|(18[5-6])|196)\\d{8}";
		String myphone="17975552985";
		if(myphone.matches(isMoblie)) {
			System.out.println("这是一个移动的号码");
			}
		else if(myphone.matches(isUnicom))
			System.out.println("这是一个联通的号码");
		else
			System.out.println("这是一个电信的号码");
		
		
	}



}

最后还有一点

虚拟运营商号段

显示全文