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. JavaScript作用域[[scope]]

    [[scope]] : 隐式的属性 每个JavaScript函数都是一个对象,对象中有些属性可以访问,而有些属性是不可以访问的,这些属性仅供JavaScript引擎存取, [[scope]]就是其中一 ...

  2. js中Attribute和property的区别与联系

    相信大多数的初学者对js中的property和attribute的关系很容易搞混, Attribute大多用于DOM的操作中,比如ele.attributes指的是一个元素的特性集合,是一个nodel ...

  3. linux 中 nginx配置

    1.nginx中include的使用 在/usr/local/nginx/conf/nginx.conf中可以使用include去加载其他配置文件: 例如:include vhost/*.conf; ...

  4. python 2.7和3.7都支持的情况 bit_length() pycharm 更改解释器

    1.头部加: #!/usr/bin/env python # -*- coding:utf-8 -*-    2.bit_length() :当前数值为二进制时,至少要用多少为表示 a = 5 b = ...

  5. Tecplot: Legend显示与否

    有时候不想显示多个数据中的某些数据的legend,只需要在Mapping style中的definition最后一列,show in legend 改为never就好了.

  6. 线性求第k大

    快排变种. 快排每次只进行部分排序,进入左边或者右边或者当前mid就是答案. 据说期望值是O(n) 然后STL中的 nth_element也是用这个思想. #include <cstdio> ...

  7. vue打包后接口报错

    最近自己和朋友做了一个小的项目,用的是vue3.x版本,本地dev运行的时候接口什么的都是正常的,但是build打包后本地使用anywhere启动一个本地服务的时候发现接口报错405状态,发布到线上接 ...

  8. HTML下标签之应用

    <!doctype html><html lang="en"> <head> <meta charset="UTF-8" ...

  9. node.js一行一行的获取txt文件内容

    node.js一行一行获取text文件代码: const readline = require('readline');//Readline是Node.js里实现标准输入输出的封装好的模块,通过这个模 ...

  10. java第三章笔记

    java的基本程序设计结构: 1. 声明一个变量之后,必须用赋值语句对变量进行显示初始化,千万不能使用未被初始化的变量. 2.在java中不区分变量的声明与定义. 3.当参与/运算的两个操作数都是整数 ...