유럽 고객을 위한 주소 양식을 만들어본 개발자라면 결국 이 진실을 발견하게 됩니다. 유럽 우편번호 형식이란 없습니다. 각 나라마다 자체 형식이 있고, 그 차이는 실제로 중요합니다. 이 페이지는 EU 27개국과 주요 비EU 유럽 국가를 다루는 국가별 레퍼런스로, 프로덕션에서 필요한 regex 패턴과 검증 팁을 담고 있습니다.
고수준 패턴
유럽 우편번호는 대략 네 그룹으로 나뉩니다:
- 5자리 숫자: 독일, 프랑스, 이탈리아, 스페인, 핀란드, 크로아티아, 에스토니아, 그리스, 리투아니아, 슬로바키아.
- 4자리 숫자: 벨기에, 불가리아, 헝가리, 오스트리아, 스위스, 리히텐슈타인, 룩셈부르크, 노르웨이, 슬로베니아, 덴마크.
- 영숫자, 고정 형식: 네덜란드(4자리 + 2글자), 아일랜드(Eircode, 7자리 영숫자), 몰타(3글자 + 4자리).
- 계층적 영숫자: 영국(가변 길이, 두 부분).
몇 가지 예외: 스웨덴은 세 번째 자리 뒤에 공백이 있는 5자리(123 45), 폴란드는 두 번째 자리 뒤에 하이픈이 있는 5자리(00-001), 체코는 세 번째 자리 뒤에 공백이 있는 5자리(110 00).
EU 27개국 레퍼런스
| 국가 | ISO | 형식 | 예시 | Regex |
|---|---|---|---|---|
| 오스트리아 | AT | 4자리 | 1010 | ^\d{4}$ |
| 벨기에 | BE | 4자리 | 1000 | ^\d{4}$ |
| 불가리아 | BG | 4자리 | 1000 | ^\d{4}$ |
| 크로아티아 | HR | 5자리 | 10000 | ^\d{5}$ |
| 키프로스 | CY | 4자리 | 1010 | ^\d{4}$ |
| 체코 | CZ | NNN NN | 110 00 | ^\d{3} ?\d{2}$ |
| 덴마크 | DK | 4자리 | 1050 | ^\d{4}$ |
| 에스토니아 | EE | 5자리 | 10111 | ^\d{5}$ |
| 핀란드 | FI | 5자리 | 00100 | ^\d{5}$ |
| 프랑스 | FR | 5자리 | 75008 | ^\d{5}$ |
| 독일 | DE | 5자리 | 10115 | ^\d{5}$ |
| 그리스 | GR | NNN NN | 105 63 | ^\d{3} ?\d{2}$ |
| 헝가리 | HU | 4자리 | 1051 | ^\d{4}$ |
| 아일랜드 | IE | Eircode | D02 X285 | ^[A-Z]\d{2} ?[A-Z0-9]{4}$ |
| 이탈리아 | IT | 5자리 | 00184 | ^\d{5}$ |
| 라트비아 | LV | LV-NNNN | LV-1050 | ^LV-\d{4}$ |
| 리투아니아 | LT | LT-NNNNN | LT-01100 | ^LT-\d{5}$ |
| 룩셈부르크 | LU | 4자리 | 1234 | ^\d{4}$ |
| 몰타 | MT | LLL NNNN | VLT 1234 | ^[A-Z]{3} ?\d{4}$ |
| 네덜란드 | NL | NNNN LL | 1011 AB | ^\d{4} ?[A-Z]{2}$ |
| 폴란드 | PL | NN-NNN | 00-001 | ^\d{2}-\d{3}$ |
| 포르투갈 | PT | NNNN-NNN | 1000-001 | ^\d{4}-\d{3}$ |
| 루마니아 | RO | 6자리 | 010001 | ^\d{6}$ |
| 슬로바키아 | SK | NNN NN | 811 01 | ^\d{3} ?\d{2}$ |
| 슬로베니아 | SI | 4자리 | 1000 | ^\d{4}$ |
| 스페인 | ES | 5자리 | 28013 | ^\d{5}$ |
| 스웨덴 | SE | NNN NN | 111 22 | ^\d{3} ?\d{2}$ |
주요 비EU 유럽 국가
| 국가 | ISO | 형식 | 예시 | Regex |
|---|---|---|---|---|
| 영국 | GB | 계층적 | SW1A 1AA | ^[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}$ |
| 스위스 | CH | 4자리 | 8001 | ^\d{4}$ |
| 노르웨이 | NO | 4자리 | 0150 | ^\d{4}$ |
| 아이슬란드 | IS | 3자리 | 101 | ^\d{3}$ |
| 리히텐슈타인 | LI | 4자리 | 9490 | ^\d{4}$ |
영국 우편번호 상세
영국 시스템은 유럽에서 가장 정보 밀도가 높습니다. SW1A 1AA 같은 코드는 다음으로 분해됩니다:
SW: 우편 구역 (런던 남서쪽)SW1A: 우편 지구 (St James's와 Pimlico)SW1A 1: 우편 섹터 (몇 개의 거리)SW1A 1AA: 우편 단위 (특정 배달 지점, 보통 건물 하나)
이 계층 구조 덕분에 영국 우편번호가 건물을 식별할 수 있고, 그 때문에 영국 제품들이 우편번호를 동네 또는 거리 수준 그룹화의 대리 지표로 사용하는 것입니다. 다른 나라의 우편번호 시스템 중 이렇게 작동하는 것은 거의 없습니다.
프로덕션 검증 패턴
가장 저렴한 프로덕션 접근 방식은 위와 같은 국가별 regex 테이블로, 주소의 국가 코드를 기반으로 적용합니다. 국가 코드는 다음에서 얻을 수 있습니다:
- 사용자가 선택한 명시적 드롭다운
- 사용자의 IP 지오위치
- 지오코더 결과 (대부분의 프로덕션 지오코더는 우편번호를 정규화하고 응답에 국가 코드를 포함합니다)
국가를 모르는 상태에서 우편번호를 검증하려 하지 마세요. 4자리 코드는 12개 나라에서 유효하고 더 많은 나라에서 유효하지 않습니다.
고위험 흐름(결제, KYC, 규제 산업)에서는 regex에서 멈추지 마세요. 주소를 지오코더에 보내고, "지붕" 또는 "거리" 정밀도 응답을 regex 매칭만이 아닌 검증으로 처리하세요. 올바르게 형식화된 우편번호도 실제 주소와 일치하지 않을 수 있습니다.
저장 및 정규화
우편번호는 숫자가 아닌 문자열로 저장하세요. 앞자리 0이 중요합니다(01100은 유효한 리투아니아 코드이지만, 1100은 아닙니다). 저장 형식 규칙:
- 데이터셋 간 비교 시 비영숫자 문자를 제거하세요.
- 출력 시 국가 정규 형식(하이픈, 공백, 접두사 포함)으로 표시하세요.
- 오늘 단일 국가에서만 운영하더라도 항상 우편번호와 함께 국가 코드를 저장하세요. 스키마가 마이그레이션 없이 다국가 확장으로 확장됩니다.
MapAtlas가 도움이 되는 방법
MapAtlas Geocoding API는 소스 데이터와 대조해 검증된 모든 지원 국가에 대해 정규화된 address_components.postal_code 필드를 반환합니다. Search API는 우편번호를 검색 입력으로 받아 일치하는 장소를 반환합니다. 두 API 모두 EU 호스팅, GDPR 준수이며, 명시적인 국가별 주소 파서를 갖춘 OSM 기반 데이터로 구축됩니다.
주소가 좌표로 변환되는 더 깊은 방법을 보려면 지오코드란 무엇인가를 참고하세요. 모든 좌표 응답 뒤의 경도와 위도 원리에 대해서는 경도 vs 위도를 읽어보세요.
자주 묻는 질문
유럽 우편번호의 형식은 무엇인가요?
단일한 유럽 우편번호 형식은 없습니다. 각 국가가 자체 형식을 정의합니다. 대부분은 고정 길이 숫자 코드(독일, 프랑스, 이탈리아, 스페인은 5자리, 벨기에, 헝가리, 오스트리아, 스위스는 4자리)를 사용하지만, 여러 나라는 영숫자 코드를 사용합니다(네덜란드는 4자리 + 2글자, 영국은 복잡한 두 부분 영숫자 시스템, 아일랜드는 7자리 영숫자 Eircode). 제대로 작동하는 주소 검증기는 EU 27개국과 주요 비EU 유럽 국가 각각의 패턴을 가지고 있어야 합니다.
독일 우편번호(Postleitzahl)와 폴란드 우편번호는 같은가요?
둘 다 5자리이지만 구조가 다릅니다. 독일은 5개의 연속 숫자를 사용합니다(예: 10115). 폴란드는 2자리, 하이픈, 3자리 형식입니다(예: 00-001). 저장 시 폴란드는 하이픈이 있는 정규 형식으로, 독일은 하이픈 없이 저장할 수 있습니다. 데이터셋 간 매칭 시 비영숫자 문자를 제거해 정규화하고, 표시 시 국가별 형식을 다시 적용하세요.
어떤 EU 국가의 우편번호도 검증하려면 어떻게 하나요?
먼저 국가를 파악하세요(주소에서, ISO 3166-1 alpha-2 국가 코드에서, 또는 사용자의 지오위치에서). 그런 다음 해당 국가의 regex 패턴을 적용하세요. 국가 인식 검증이 표준 프로덕션 패턴인데, 단일 전역 regex는 유효한 코드를 거부하거나 명백히 잘못된 코드를 수락하기 때문입니다. MapAtlas Geocoding API는 `address_components`에서 국가별 정규화된 우편번호를 반환하므로, 보통 지오코더가 검증 단계를 대신 해줍니다.
영국 우편번호 시스템은 왜 그렇게 달라 보이나요?
영국 우편번호는 우편 구역, 지구, 섹터, 단위를 두 부분으로 인코딩하는 계층적 영숫자 시스템을 사용합니다(예: 버킹엄 궁전은 SW1A 1AA). 대부분의 국가 시스템보다 코드당 더 많은 공간 정보를 담고 있기 때문에, 영국 우편번호는 때로 동네나 특정 거리의 대리 지표로 사용됩니다. 이 시스템은 1950~60년대에 설계됐고 그 이후로 현대 데이터 인프라에 맞게 개조되어 왔습니다.

