메뉴

국가별 우편번호 형식: 자릿수와 문자 구성

나라마다 다른 우편번호의 자릿수와 문자 구성을 비교하고, 우편번호가 없는 국가와 앞자리 0이 사라지는 문제까지 짚어 봅니다.

게시일

  • 우편번호
  • 형식

국가별 우편번호를 하나의 규칙으로 처리하려는 시도는 대체로 실패합니다. 우편번호는 세계 공통 규격이 아니라 나라마다 따로 정한 체계이고, 자릿수와 문자 구성이 서로 다르기 때문입니다. 이 글에서는 우편번호를 이루는 문자가 어떻게 갈리는지, 그리고 저장하거나 검사할 때 어디서 사고가 나는지 정리합니다.

우편번호를 나누는 기준은 무엇인가요?

가장 큰 갈림길은 숫자만 쓰는지, 글자와 숫자를 섞는지입니다. 숫자만 쓰는 체계는 대체로 네 자리에서 여섯 자리 사이이고 자릿수가 고정된 나라가 많습니다. 반면 글자와 숫자를 섞는 체계는 두 덩어리로 나뉘어 앞부분이 지역을, 뒷부분이 세부 구역을 가리키는 구조가 흔합니다.

두 번째 갈림길은 자릿수가 정말 고정인지입니다. 고정으로 알려진 나라도 행정 구역이 나뉘거나 합쳐지면서 자릿수와 배분이 바뀐 사례가 있습니다. 그래서 오늘 확인한 규칙을 영원한 진리처럼 코드에 박아 두면 나중에 조용히 어긋나기 시작합니다.

숫자만 쓰는 체계와 섞어 쓰는 체계는 무엇이 다른가요?

숫자만 쓰는 체계의 장점은 입력이 단순하고 사람이 옮겨 적을 때 실수가 적다는 점입니다. 단점은 반대 급부로, 자릿수 하나를 잘못 눌러도 그럴듯한 값이 만들어져 형식 검사를 그냥 통과한다는 것입니다. 유효한 번호인지 확인하려면 결국 지역 정보와 대조해야 합니다.

글자와 숫자를 섞는 체계는 한 글자만 틀려도 눈에 띄는 경우가 많지만, 대신 대문자와 소문자, 공백의 위치, 하이픈 사용 여부 같은 표기 문제가 끼어듭니다. 같은 번호를 두 사람이 서로 다르게 적는 상황이 생기는 것입니다.

두 체계를 같은 열에 담을 때는 자릿수 검사를 열 기준으로 삼지 않아야 합니다. 한 국가의 규칙을 열 전체에 적용하면 다른 체계를 쓰는 국가의 값이 전부 어긋난 것으로 표시됩니다. 검사 규칙은 국가별로 찾아 적용하고, 규칙이 없는 국가는 통과시키는 편이 안전합니다. 어느 국가의 규칙으로 검사했는지도 함께 남겨 두면 나중에 오탐의 원인을 찾기 쉽습니다.

구분 구성 방식 다룰 때의 주의점
숫자만 네 자리에서 여섯 자리 자릿수 가정이 흔하고, 앞자리 0이 사라지기 쉬움
숫자와 글자 혼합 두 덩어리, 앞은 지역 뒤는 세부 구역 대소문자와 공백 표기를 하나로 정해야 함
지역 코드와 배달 지점 앞부분이 지역, 뒷부분이 세부 지점 구역이 바뀌면 뒷부분이 함께 바뀜

우편번호가 없는 국가는 어떻게 처리하나요?

우편번호 체계를 두지 않는 국가와 지역이 실제로 있습니다. 그런 곳에서는 주소가 도시와 구역 이름만으로 배달되므로, 우편번호 입력란 자체가 의미가 없습니다. 문제는 많은 쇼핑몰과 가입 양식이 우편번호를 필수로 두고 있다는 점입니다.

이때 흔히 쓰는 방법은 자리 표시자입니다. 영문자와 숫자를 조합한 무의미한 값을 넣거나, 이 사이트의 도구처럼 우편번호를 사용하지 않는다는 안내를 화면에 보여 주는 방식입니다. 중요한 것은 그 값이 실제 우편번호인 척하지 않도록 하는 것입니다. 자리 표시자를 쓰고 있다면 나중에 정리할 수 있게 구분해 두세요.

우편번호가 없다는 안내를 보여 줄 때는 그 국가의 주소를 어떤 항목으로 확인할지도 함께 알려 주는 편이 좋습니다. 사용자는 우편번호를 넣지 못하면 자기 주소가 잘못된 줄 알고 다른 값을 억지로 찾게 됩니다. 도시와 구역 이름이 배달의 기준이라는 설명이 있으면 불필요한 입력과 문의를 함께 줄일 수 있습니다.

앞자리 0은 왜 자주 사라지나요?

0으로 시작하는 우편번호를 숫자로 다루면 앞자리가 없어집니다. 표로 만들거나 정렬하려고 숫자형으로 바꾸는 순간 0이 날아가고, 원래 값과 다른 번호가 저장됩니다. 화면에는 여전히 그럴듯한 숫자가 보이므로 문제는 한참 뒤에 드러납니다.

해결은 단순합니다. 우편번호는 처음부터 끝까지 글자로 다루고, 정렬이 필요하면 별도의 열을 하나 더 두어 숫자로 변환한 값을 씁니다. 검사할 때도 자릿수를 세는 기준은 원래 글자여야 합니다.

우편번호와 도시가 어긋나면 무엇을 봐야 하나요?

우편번호와 행정구역이 서로 맞지 않는 조합은 주소 데이터에서 가장 흔한 오류 가운데 하나입니다. 사람이 기억으로 입력하거나, 이전 주소를 복사하면서 일부만 고친 경우에 자주 생깁니다.

이 오류를 잡으려면 국가별로 지역과 접두부의 대응 관계를 표로 두고 대조해야 합니다. 예를 들어 다섯 자리 우편번호를 쓰고 주 약어를 함께 받는 미국 같은 나라에서는 두 값이 같은 지역을 가리키는지 확인하는 검사가 특히 효과적입니다. 검사의 강도와 실패 처리 방법은 주소 검증과 정규화에서 더 다룹니다.

랜덤 주소 생성기에서 국가별 형식을 비교해 보기

랜덤 주소 생성기는 국가를 바꿀 때마다 그 나라의 실제 규칙에 맞는 우편번호를 만들어 주고, 우편번호를 쓰지 않는 국가에서는 해당 없다는 안내를 보여 줍니다. 여러 국가를 번갈아 생성해 보면 자릿수와 문자 구성이 얼마나 다른지 한눈에 비교할 수 있습니다.

생성되는 주소는 알고리즘이 합성한 시험용 값이며 실존하는 거주지와 무관합니다. 실제 우편물을 보내는 데 쓸 수 없습니다.

개발자를 위한 메모: 우편번호는 끝까지 문자열이다

  • 저장 형식은 문자열로 고정합니다. 숫자형 열은 앞자리 0을 반드시 잃습니다.
  • 필수 여부는 국가에 따라 달라져야 합니다. 모든 국가에 같은 규칙을 적용하면 우편번호가 없는 국가의 사용자를 막게 됩니다.
  • 검사 규칙은 국가별로 분리하고, 규칙을 찾지 못한 국가는 통과시키되 로그에 남깁니다. 모르는 국가를 무조건 거부하면 신규 국가가 추가될 때마다 서비스가 막힙니다.
  • 공백과 하이픈 처리는 저장 전에 한 번만 정규화하고, 원본 입력도 함께 남겨 두면 나중에 분쟁을 줄일 수 있습니다.
  • 자릿수를 정규식 하나로 고정하지 말고, 허용 범위와 예외를 데이터로 두어 갱신할 수 있게 합니다.

다음 단계

자기 서비스가 다루는 국가의 우편번호 규칙을 표로 정리해 두고, 그 표에 없는 국가가 들어왔을 때 어떻게 처리할지 먼저 정해 두세요. 실제 값을 눈으로 비교하려면 랜덤 주소 생성기에서 국가를 바꿔 가며 생성해 보고, 만들어진 우편번호를 자기 검사 규칙에 통과시켜 보는 것이 가장 빠른 확인 방법입니다.

이어 읽기

랜덤 주소 생성기 관련 글