본문 바로가기

개발자이야기/JavaScript이야기

우편번호 규칙

반응형

  1. /**  
  2.  * Method [String getArea(strZipCode)]  
  3.  *  
  4.  * @ date           :   2009-01-07  
  5.  * @ author         :   blue1769    (blue1769@naver.com)  
  6.  * @ param          :   zipCode  
  7.  * @ description    :   method [String getCityName(nCheck)]와 함께 사용,  
  8.  *                      우편번호를 입력받아 해당하는 지역을 출력  
  9.  */ 
  10. public static String getArea(String zipCode)  
  11. {  
  12.     int         nCheckNum       =   -1;  
  13.     int         nSelectIndex    =   -1;  
  14.  
  15.     try 
  16.     {  
  17.         nCheckNum = Integer.parseInt(zipCode.substring(0, 3));  
  18.     }  
  19.     catch (NumberFormatException e)  
  20.     {  
  21.         e.printStackTrace();  
  22.     }  
  23.     finally 
  24.     {  
  25.         return getCityName(nCheckNum);  
  26.     }  
  27.  
  28. }  
  29.  
  30. /**  
  31.  * Method [String getArea(strZipCode)]  
  32.  *  
  33.  * @ date           :   2009-01-07  
  34.  * @ author         :   blue1769    (blue1769@naver.com)  
  35.  * @ param          :   zipCode 앞 3자리  
  36.  * @ description    :   우편번호 앞 3자리를 입력받아 해당하는 지역을 출력  
  37.  */ 
  38. public static String getCityName(int nCheckNum)  
  39. {  
  40.     String[]    szrgCities  =   { "서울", "강원", "대전", "충남", "충북", "인천", "경기",  
  41.                                   "광주", "전남", "전북", "부산", "경남", "울산", "제주",  
  42.                                   "대구", "경북", "모름" };  
  43.  
  44.     if (nCheckNum >= 100 && nCheckNum <= 199)     return szrgCities[0];  
  45.     else if (nCheckNum >= 200 && nCheckNum <= 299)    return szrgCities[1];  
  46.     else if (nCheckNum >= 300 && nCheckNum <= 309)    return szrgCities[2];  
  47.     else if (nCheckNum >= 310 && nCheckNum <= 359)    return szrgCities[3];  
  48.     else if (nCheckNum >= 360 && nCheckNum <= 399)    return szrgCities[4];  
  49.     else if (nCheckNum >= 400 && nCheckNum <= 409)    return szrgCities[5];  
  50.     else if (nCheckNum >= 410 && nCheckNum <= 499)    return szrgCities[6];  
  51.     else if (nCheckNum >= 500 && nCheckNum <= 509)    return szrgCities[7];  
  52.     else if (nCheckNum >= 510 && nCheckNum <= 559)    return szrgCities[8];  
  53.     else if (nCheckNum >= 560 && nCheckNum <= 599)    return szrgCities[9];  
  54.     else if (nCheckNum >= 600 && nCheckNum <= 619)    return szrgCities[10];  
  55.     else if (nCheckNum >= 620 && nCheckNum <= 679)    return szrgCities[11];  
  56.     else if (nCheckNum >= 680 && nCheckNum <= 689)    return szrgCities[12];  
  57.     else if (nCheckNum >= 690 && nCheckNum <= 699)    return szrgCities[13];  
  58.     else if (nCheckNum >= 700 && nCheckNum <= 711)    return szrgCities[14];  
  59.     else if (nCheckNum >= 712 && nCheckNum <= 799)    return szrgCities[15];  
  60.     else                                            return szrgCities[16];  
  61. }  

작업 도중 필요해서 만들었지만 두고 쓸만한 것 같아서 올린다.

우리나라 우편번호는 대강 이러한 규칙이 있다고 한다.
통상 우편번호의 모양은,

 " 000-000 "

위와 같은 총 여섯자리의 숫자로 각 세자리씩 분리되어 있다.

뒷쪽으로 갈수록 세부적인 주소를 나타낸다는 것은
평범하게 고민해봐도 알만한 부분이긴 하지만
정확히 지역 명칭을 얻어오기 위해서 정확한 정보가 필요했던 차에
검색으로 다음과 같은 규칙을 찾아낼 수 있었다.

앞쪽 세 자리의 숫자가 다음과 같은 경우에 각각 해당하는 지역을 나타낸다고 한다.

ZipCode Area
100 ~ 199 서울
200 ~ 299 강원
300 ~ 309 대전
310 ~ 359 충남
360 ~ 399 충북
400 ~ 409 인천
410 ~ 499 경기
500 ~ 509 광주
510 ~ 559 전남
560 ~ 599 전북
600 ~ 619 부산
620 ~ 679 경남
680 ~ 689 울산
690 ~ 699 제주
700 ~ 711 대구
712 ~ 799 경북

꽤나 한참 찾았는데 마땅히 쓸만한 정보가 없었다.

생각난 김에 html 노가다로 표까지 만들었으니
필요한 여러분이 있다면 가져가셔서 유용하게 쓰시길 바랍니다.

Posted by blue1769
************* 이글은 blue1769님께서 작성하신 글을 포스팅 해온 내용입니다^^*****************************
반응형