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. Django项目的创建的基本流程---基本配置

    一.项目分析: 二.需求分析 三.Git管理代码: 1.创建仓库 2.克隆仓库 3.设置虚拟环境 4.复制前端font代码 在font中打开终端,运行live-server 5.测试前端代码是否可以运 ...

  2. java.io.IOException: 你的主机中的软件中止了一个已建立的连接。

    1.异常表现:我在jsp文件中有一个<form>表单,里面有一个<button>保存事件按钮.<button  onclick="addOrUPdate()&q ...

  3. hashlib模块(加密模块)

    hash = hashlib.md5(b"str") #md5对象,md5不能反解,可加参数 hash.update(b"str") #对字符串进行加密 has ...

  4. TCP/UDP 网络工具

    1. 统计连接状态 netstat -n | awk '/^tcp/ {++State[$NF]} END {for(s in State) print s, State[s]}' CLOSE_WAI ...

  5. phpstorm快捷键总结

    如果映射的是eclipse的快捷键,又同时安装了英特尔的GPU软件,那么会有这个快捷键冲突 就是快速复制快捷键:ctrl+alt+方向键  会调用英特尔旋转屏幕,禁用掉即可 PhPStorm 是 Je ...

  6. scrapy学习笔记之hello world

    1. 创建项目文档 在目标路径下,打开命令行,使用如下命令创建项目,例如项目名称为 "tutorial": scrapy startproject tutorial - 创建项目时 ...

  7. MATLAB 进行五种边缘检测

    自定义函数: function []=edge_detect(image_name) a=imread(image_name); I=rgb2gray(a); BW1=edge(I,'Roberts' ...

  8. 基于C++的牛顿切线法演示

    牛顿切线法 中心思想: 利用目标函数二阶泰勒多项式的最优解作为函数的近似最优解.如果新的近似最优解满足计算精度,则终止计算,否则将函数在新点展开成二阶泰勒多项式,用新的泰勒多项式的最优解作为函数的近似 ...

  9. ROS * 了解xacro的编写

    在urdf文件中,会有很多内容是一样的,当要改变这些语句重某一个相同的参数时却要更改很多次,很吗发,于是有了一种精简化.可复用.模块化的描述形式——xacro 废话少说 声明重复使用的常量 <? ...

  10. 【学习】C++多态机制

    多态:静态(早绑定) 在编译阶段和链接就能确定功能调用的函数.     动态(晚绑定) 在程序运行时根据需要的功能确定调用的函数. 实现晚绑定就要定义虚函数,使用虚函数则会用到基类指针. 继承基类虚成 ...