import org.apache.commons.lang.StringUtils;

import java.util.HashMap;
import java.util.Map; public class PhoneNumberUtils { private static Map<String,Integer> region_country_Map = new HashMap<>();
private static Map<Integer,String> country_region_Map = new HashMap<>(); static {
initCountryCodeMap();
} private static void initCountryCodeMap() { String countryCodeMapString = "AD:376,AE:971,AF:93,AG:1268,AI:1264,AL:355,AM:374,AO:244,AR:54,AT:43,AU:61,AZ:994,BB:1246,BD:880,BE:32,BF:226,BG:359,BH:973,BI:257,BJ:229,BM:1441,BN:673,BO:591,BR:55,BS:1242,BW:267,BY:375,BZ:501,CA:1,CF:236,CG:242,CH:41,CK:682,CL:56,CM:237,CN:86,CO:57,CR:506,CU:53,CY:357,CZ:420,DE:49,DJ:253,DK:45,DO:1890,DZ:213,EC:593,EE:372,EG:20,ES:34,ET:251,FI:358,FJ:679,FR:33,GA:241,GB:44,GD:1809,GE:995,GF:594,GH:233,GI:350,GM:220,GN:224,GR:30,GT:502,GU:1671,GY:592,HK:852,HN:504,HT:509,HU:36,ID:62,IE:353,IL:972,IN:91,IQ:964,IR:98,IS:354,IT:39,JM:1876,JO:962,JP:81,KE:254,KG:331,KH:855,KP:850,KR:82,KW:965,KZ:327,LA:856,LB:961,LC:1758,LC:1758,LI:423,LK:94,LR:231,LS:266,LT:370,LU:352,LV:371,LY:218,MA:212,MC:377,MD:373,MG:261,ML:223,MM:95,MN:976,MO:853,MS:1664,MT:356,MU:230,MV:960,MW:265,MX:52,MY:60,MZ:258,NA:264,NE:227,NG:234,NI:505,NL:31,NO:47,NP:977,NR:674,NZ:64,OM:968,PA:507,PE:51,PF:689,PG:675,PH:63,PK:92,PL:48,PR:1787,PT:351,PY:595,QA:974,RO:40,RU:7,SA:966,SB:677,SC:248,SD:249,SE:46,SG:65,SI:386,SK:421,SL:232,SM:378,SN:221,SO:252,SR:597,ST:239,SV:503,SY:963,SZ:268,TD:235,TG:228,TH:66,TJ:992,TM:993,TN:216,TO:676,TR:90,TT:1809,TW:886,TZ:255,UA:380,UG:256,US:1,UY:598,UZ:233,VC:1784,VC:1784,VE:58,VN:84,YE:967,YU:381,ZA:27,ZM:260,ZR:243,ZW:263,";
String[] ss = countryCodeMapString.split(",");
for (String s:ss){
try {
if (!StringUtils.isBlank(s)){
String[] aa = s.split(":");
if (aa.length == 2){
String reginCode = aa[0];
Integer countryCode = Integer.valueOf(aa[1].trim()); region_country_Map.put(reginCode,countryCode);
country_region_Map.put(countryCode,reginCode);
}
}
}catch (Exception e){
}
}
} public static String getReginForCountryCode(Integer countryCode){
return country_region_Map.get(countryCode);
} public static int getCountryCodeForRegion(String region) {
region = region.toUpperCase();
return region_country_Map.get(region);
} }

  

国家码和reginCode映射关系的更多相关文章

  1. ASP.NET Core的路由[1]:注册URL模式与HttpHandler的映射关系

    ASP.NET Core的路由是通过一个类型为RouterMiddleware的中间件来实现的.如果我们将最终处理HTTP请求的组件称为HttpHandler,那么RouterMiddleware中间 ...

  2. EF里的继承映射关系TPH、TPT和TPC的讲解以及一些具体的例子

    本章节讲解EF里的继承映射关系,分为TPH.TPT.TPC.具体: 1.TPH:Table Per Hierarchy 这是EF的默认的继承映射关系:一张表存放基类和子类的所有列,自动生成的discr ...

  3. 注册URL模式与HttpHandler的映射关系

    注册URL模式与HttpHandler的映射关系 ASP.NET Core的路由是通过一个类型为RouterMiddleware的中间件来实现的.如果我们将最终处理HTTP请求的组件称为HttpHan ...

  4. entity framework里的继承映射关系TPH、TPT和TPC

    本章节讲解EF里的继承映射关系,分为TPH.TPT.TPC.具体: 1.TPH:Table Per Hierarchy 这是EF的默认的继承映射关系:一张表存放基类和子类的所有列,自动生成的discr ...

  5. EF——继承映射关系TPH、TPT和TPC的讲解以及一些具体的例子 05 (转)

    EF里的继承映射关系TPH.TPT和TPC的讲解以及一些具体的例子   本章节讲解EF里的继承映射关系,分为TPH.TPT.TPC.具体: 1.TPH:Table Per Hierarchy 这是EF ...

  6. hiberate 映射关系 详解

    在我们平时所学的关系型数据库中,我们会大量处理表与表之间的关系,如果表比较多的话处理起来就比较繁琐了,但是hibernate给我们提供了很大的便利,这些便利让我们处理起来方便.我们所讲的源码地址:ht ...

  7. Hibernate学习2--对象的三种状态以及映射关系的简单配置

    上篇hibernate的博客总体简单梳理了对象持久化的一些思想以及hibernate中对象持久化化的方法,下面说说对象持久化过程的三种状态. 一.hibernate缓存的概念 1.session与缓存 ...

  8. CRM和ERP的Sales Organization的映射关系

    在如下的配置里可以维护CRM和ERP的Sales Organization的映射关系. 例如,ERP的编号为0001的销售组织映射到CRM的编号为O 50040102的销售组织: 这种映射关系存储在表 ...

  9. [置顶] Linux 虚拟地址与物理地址的映射关系分析【转】

    转自:http://blog.csdn.net/ordeder/article/details/41630945 版权声明:本文为博主(http://blog.csdn.net/ordeder)原创文 ...

随机推荐

  1. vue生命周期中created和mounted的区别

    created在渲染页面之前使用,通常是用来渲染页面 mounted通常是在渲染页面之后,用来操作dom节点 通常情况下使用created比较多,使用mounted相对少一些,一些情况使用mounte ...

  2. LoadRunner学习笔记(1)--异常处理方法

    1.查看端口号占用情况 cmd  -> netstat  -ano  找到进程关闭后在重启网站 2.LR录制脚本时为何不弹出IE浏览器 启动浏览器,打开Internet选项对话框,切换到高级标签 ...

  3. mpvue开发小程序记录

    1.同一组件内嵌套的 v-for 不能连续使用相同的索引,目前为: index,index <li v-for="(list, index) in datas" :key=& ...

  4. JavaScript权威指南--数组Array

    什么是数组 数组是值的有序集合.每一个值叫做元素,每一个元素在数组中有一个位置,用数字表示,称为索引.js数组是无类型的.动态的,也可能是稀疏的.每个数组都有length属性.数组最大能容纳42949 ...

  5. Spring配置之标签的三两事

    今天看到项目的配置,看后就当是复习了.懵懵懂懂工作两年,感觉虽然自己一直在使用spring作为工具,但是也没有涉及到spring的方方面面,今天的研究从一次无意的自动补全开始,还是那句话,不爱研究的程 ...

  6. Oracle SQL Developer 连接数据库问题总结

    一.使用scott用户登录的问题 说明:Oracle如果是初次使用用户,scott用户是没有解锁的.所以要先解锁.注:scott是个测试用户. 具体步骤: 1.在Dos命令下输入 sqlplus 可以 ...

  7. HBase应用快速开发

    有人说过“让Hadoop开发像家庭作业一样简单”,容器技术的出现让这成为可能,可以用Docker封装HBase运行环境,通过统一的接口来运行.本文将介绍如何在十分钟内跑起你的HBase应用. 首先,我 ...

  8. 小妖精的完美游戏教室——buff系统

    作者:小妖精Balous,未经作者允许,任何个人与单位不得将此源代码用于商业化项目 #region buff /// <summary> /// 是否魔法免疫,魔法免疫的生物不会受到除自己 ...

  9. 芯灵思SinlinxA33开发板 Linux平台总线设备驱动

    1.什么是platform(平台)总线? 相对于USB.PCI.I2C.SPI等物理总线来说,platform总线是一种虚拟.抽象出来的总线,实际中并不存在这样的总线. 那为什么需要platform总 ...

  10. 网络请求 selenium

    网络请求 selenium 部分流程: 第一:爬虫引擎生成requests请求,送往scheduler调度模块,进入等待队列,等待调度.第二:scheduler模块开始调度这些requests,出队, ...