Avrupa müşterileri için adres formu oluşturan her geliştirici sonunda gerçeği keşfeder: tek bir Avrupa posta kodu formatı yoktur. Her ülkenin kendine özgü formatı vardır ve bu farklılıklar gerçekten anlamlıdır. Bu sayfa, üretimdeki ihtiyacın olan regex desenleri ve doğrulama ipuçlarıyla AB-27 ve başlıca AB dışı Avrupa ülkeleri için ülke bazlı bir referanstır.
Üst Düzey Örüntü
Avrupa posta kodları kabaca dört gruba ayrılır:
- 5 basamaklı sayısal: Almanya, Fransa, İtalya, İspanya, Finlandiya, Hırvatistan, Estonya, Yunanistan, Litvanya, Slovakya.
- 4 basamaklı sayısal: Belçika, Bulgaristan, Macaristan, Avusturya, İsviçre, Lihtenştayn, Lüksemburg, Norveç, Slovenya, Danimarka.
- Alfanümerik, sabit format: Hollanda (4 basamak artı 2 harf), İrlanda (Eircode, 7 alfanümerik), Malta (3 harf artı 4 basamak).
- Hiyerarşik alfanümerik: Birleşik Krallık (değişken uzunluklu, iki parçalı).
Birkaç özel durum da var: İsveç, üçüncü rakamdan sonra boşlukla 5 basamak kullanır (123 45), Polonya ikinci rakamdan sonra tireyle 5 basamak kullanır (00-001), Çekya üçüncü rakamdan sonra boşlukla 5 basamak kullanır (110 00).
AB-27 Referansı
| Ülke | ISO | Format | Örnek | Regex |
|---|---|---|---|---|
| Avusturya | AT | 4 basamak | 1010 | ^\d{4}$ |
| Belçika | BE | 4 basamak | 1000 | ^\d{4}$ |
| Bulgaristan | BG | 4 basamak | 1000 | ^\d{4}$ |
| Hırvatistan | HR | 5 basamak | 10000 | ^\d{5}$ |
| Kıbrıs | CY | 4 basamak | 1010 | ^\d{4}$ |
| Çekya | CZ | NNN NN | 110 00 | ^\d{3} ?\d{2}$ |
| Danimarka | DK | 4 basamak | 1050 | ^\d{4}$ |
| Estonya | EE | 5 basamak | 10111 | ^\d{5}$ |
| Finlandiya | FI | 5 basamak | 00100 | ^\d{5}$ |
| Fransa | FR | 5 basamak | 75008 | ^\d{5}$ |
| Almanya | DE | 5 basamak | 10115 | ^\d{5}$ |
| Yunanistan | GR | NNN NN | 105 63 | ^\d{3} ?\d{2}$ |
| Macaristan | HU | 4 basamak | 1051 | ^\d{4}$ |
| İrlanda | IE | Eircode | D02 X285 | ^[A-Z]\d{2} ?[A-Z0-9]{4}$ |
| İtalya | IT | 5 basamak | 00184 | ^\d{5}$ |
| Letonya | LV | LV-NNNN | LV-1050 | ^LV-\d{4}$ |
| Litvanya | LT | LT-NNNNN | LT-01100 | ^LT-\d{5}$ |
| Lüksemburg | LU | 4 basamak | 1234 | ^\d{4}$ |
| Malta | MT | LLL NNNN | VLT 1234 | ^[A-Z]{3} ?\d{4}$ |
| Hollanda | NL | NNNN LL | 1011 AB | ^\d{4} ?[A-Z]{2}$ |
| Polonya | PL | NN-NNN | 00-001 | ^\d{2}-\d{3}$ |
| Portekiz | PT | NNNN-NNN | 1000-001 | ^\d{4}-\d{3}$ |
| Romanya | RO | 6 basamak | 010001 | ^\d{6}$ |
| Slovakya | SK | NNN NN | 811 01 | ^\d{3} ?\d{2}$ |
| Slovenya | SI | 4 basamak | 1000 | ^\d{4}$ |
| İspanya | ES | 5 basamak | 28013 | ^\d{5}$ |
| İsveç | SE | NNN NN | 111 22 | ^\d{3} ?\d{2}$ |
Başlıca AB Dışı Avrupa Ülkeleri
| Ülke | ISO | Format | Örnek | Regex |
|---|---|---|---|---|
| Birleşik Krallık | GB | hiyerarşik | SW1A 1AA | ^[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}$ |
| İsviçre | CH | 4 basamak | 8001 | ^\d{4}$ |
| Norveç | NO | 4 basamak | 0150 | ^\d{4}$ |
| İzlanda | IS | 3 basamak | 101 | ^\d{3}$ |
| Lihtenştayn | LI | 4 basamak | 9490 | ^\d{4}$ |
İngiltere Posta Kodu Ayrıntılı
İngiltere sistemi Avrupa'nın en yoğun bilgi içeren posta kodu sistemidir. SW1A 1AA gibi bir kod şu şekilde ayrıştırılır:
SW: posta alanı (Londra Güney Batı)SW1A: posta bölgesi (St James's ve Pimlico)SW1A 1: posta sektörü (birkaç sokak)SW1A 1AA: posta birimi (genellikle tek bina olan belirli teslimat noktası)
Bu hiyerarşi, İngiltere posta kodunun bir binayı tanımlayabilmesi anlamına gelir; bu nedenle İngiltere ürünleri genellikle posta kodunu mahalle veya sokak düzeyinde gruplandırma için vekil olarak kullanır. Başka hiçbir ülkenin posta kodu sistemi bunu yapmaz.
Üretim Doğrulama Örüntüleri
En ekonomik üretim yaklaşımı, adresten gelen ülke koduna göre uygulanan yukarıdaki gibi ülke başına bir regex tablosudur. Ülke kodu şuradan gelebilir:
- Kullanıcının seçtiği açık bir açılır menü
- Kullanıcının IP jeolokasyonu
- Geocoder sonucu (çoğu üretim geocoder'ı posta kodunu normalleştirir ve yanıtta ülke kodunu içerir)
Ülkeyi bilmeden bir posta kodunu doğrulamaktan kaçın. 4 basamaklı bir kod 12 ülkede geçerlidir ve pek çoğunda geçersizdir.
Yüksek riskli akışlarda (ödeme, KYC, düzenlenmiş sektörler) regex ile durma. Adresi bir geocoder'a gönder ve "çatı" veya "sokak" hassasiyetindeki yanıtı doğrulama olarak değerlendir, yalnızca regex eşleşmesini değil. Doğru biçimde formatlanmış bir posta kodu yine de gerçek bir adresle eşleşmeyebilir.
Depolama ve Normalleştirme
Posta kodlarını sayı olarak değil, string olarak sakla. Öndeki sıfırlar önemlidir (01100 geçerli bir Litvanya kodudur; 1100 değildir). Depolama formatı kuralları:
- Veri setleri arasında karşılaştırma yaparken alfanümerik olmayan karakterleri soy.
- Çıktıda ülkeye özgü kanonik formda (tireler, boşluklar, öneklerle) görüntüle.
- Bugün yalnızca tek bir ülkede faaliyet gösteren bir ürünün şemasını bile posta koduyla birlikte her zaman ülke kodunu sakla. Şema, göç gerektirmeden çok ülkeli genişlemeye uyum sağlar.
MapAtlas Nasıl Yardımcı Olur?
MapAtlas Geocoding API, desteklenen her ülke için kaynak veriye karşı doğrulanmış normalleştirilmiş address_components.postal_code alanını döndürür. Search API, posta kodunu arama girdisi olarak kabul eder ve eşleşen yeri döndürür. Her iki API da AB'de barındırılmaktadır, GDPR uyumludur ve açık ülke başına adres ayrıştırıcılarla OSM kalitesindeki veri üzerine inşa edilmiştir.
Adreslerin koordinatlara nasıl dönüştüğüne daha derin bir bakış için Geocode Nedir yazısına, her koordinat yanıtının arkasındaki boylam ve enlem mekaniği için ise Boylam ve Enlem yazısına göz at.
Sıkça Sorulan Sorular
Avrupa posta kodlarının formatı nedir?
Tek bir Avrupa posta kodu formatı yoktur. Her ülke kendi formatını belirler. Çoğu sabit uzunlukta sayısal kod kullanır (Almanya, Fransa, İtalya, İspanya'da 5 basamak; Belçika, Macaristan, Avusturya, İsviçre'de 4 basamak), ancak birkaçı alfanümerik kodlar kullanır (Hollanda 4 basamak artı 2 harf, Birleşik Krallık karmaşık iki parçalı alfanümerik sistem, İrlanda 7 alfanümerik karakterli Eircode). Çalışan bir adres doğrulayıcısı, AB-27 ile başlıca AB dışı Avrupa ülkeleri için ülke başına desen tutmalıdır.
Alman posta kodu (Postleitzahl) ile Polonya posta kodu aynı mıdır?
Her ikisi de beş karakterdir, ancak yapıları farklıdır. Almanya'da 5 ardışık rakam kullanılır (örn. 10115). Polonya'da 2 rakam, bir tire, ardından 3 rakam kullanılır (örn. 00-001). Depolama için, Polonya'da tire ile kanonik formu, Almanya'da tiresiz formu saklayabilirsin. Veri setleri arasında eşleştirme için alfanümerik olmayan karakterleri soyup çıkar ve ülkeye özgü formatı görüntülemede yeniden uygula.
Herhangi bir AB ülkesinden posta kodunu nasıl doğrularım?
Önce ülkeyi belirle (adresten, ISO 3166-1 alfa-2 ülke kodundan veya kullanıcının jeolokasyonundan). Ardından o ülkenin regex desenini uygula. Ülke farkında doğrulama standart üretim örüntüsüdür; çünkü tek bir küresel regex ya geçerli kodları reddeder ya da açıkça geçersiz olanları kabul eder. MapAtlas Geocoding API, `address_components` içinde ülke başına normalleştirilmiş bir posta kodu döndürür; bu nedenle genellikle doğrulama adımını geocoder'a bırakırsın.
Birleşik Krallık posta kodu sistemi neden bu kadar farklı görünüyor?
İngiltere posta kodları, iki bölümlü posta alanını, bölgeyi, sektörü ve birimi kodlayan hiyerarşik alfanümerik bir sistem kullanır (örn. Buckingham Sarayı için SW1A 1AA). Bu, çoğu ülke sisteminden kod başına daha fazla konumsal bilgi taşır; bu nedenle İngiltere posta kodları bazen mahalle veya sokak düzeyinde vekil olarak kullanılır. Sistem 1950'lerde ve 1960'larda tasarlanmış ve modern veri altyapısına uyarlanmıştır.

