European customer-এর জন্য address form তৈরি করা প্রতিটি ডেভেলপার অবশেষে সত্যটি আবিষ্কার করেন: কোনো European postal code ফরম্যাট নেই। প্রতিটি দেশের নিজস্ব আছে এবং variation গুলো genuinely meaningful। এই page হল EU-27 এবং key non-EU European দেশগুলোর জন্য দেশভিত্তিক রেফারেন্স, regex pattern এবং validation tips সহ যা production-এ দরকার।
উচ্চ-স্তরের Pattern
European postal code মোটামুটি চারটি গ্রুপে ভাগ হয়:
- ৫-ডিজিট numeric: জার্মানি, ফ্রান্স, ইতালি, স্পেন, ফিনল্যান্ড, ক্রোয়েশিয়া, এস্তোনিয়া, গ্রিস, লিথুয়ানিয়া, স্লোভাকিয়া।
- ৪-ডিজিট numeric: বেলজিয়াম, বুলগেরিয়া, হাঙ্গেরি, অস্ট্রিয়া, সুইজারল্যান্ড, Liechtenstein, লাক্সেমবার্গ, নরওয়ে, স্লোভেনিয়া, ডেনমার্ক।
- Alphanumeric, fixed format: Netherlands (৪ ডিজিট প্লাস ২ অক্ষর), Ireland (Eircode, ৭ alphanumeric), Malta (৩ অক্ষর প্লাস ৪ ডিজিট)।
- Hierarchical alphanumeric: United Kingdom (variable-length, two-part)।
এছাড়াও কিছু outlier: Sweden তৃতীয়টির পরে একটি space সহ ৫ ডিজিট (123 45), Poland দ্বিতীয়টির পরে একটি hyphen সহ ৫ ডিজিট (00-001), Czechia তৃতীয়টির পরে একটি space সহ ৫ ডিজিট (110 00) ব্যবহার করে।
EU-27 রেফারেন্স
| দেশ | ISO | ফরম্যাট | উদাহরণ | Regex |
|---|---|---|---|---|
| Austria | AT | ৪ ডিজিট | 1010 | ^\d{4}$ |
| Belgium | BE | ৪ ডিজিট | 1000 | ^\d{4}$ |
| Bulgaria | BG | ৪ ডিজিট | 1000 | ^\d{4}$ |
| Croatia | HR | ৫ ডিজিট | 10000 | ^\d{5}$ |
| Cyprus | CY | ৪ ডিজিট | 1010 | ^\d{4}$ |
| Czechia | CZ | NNN NN | 110 00 | ^\d{3} ?\d{2}$ |
| Denmark | DK | ৪ ডিজিট | 1050 | ^\d{4}$ |
| Estonia | EE | ৫ ডিজিট | 10111 | ^\d{5}$ |
| Finland | FI | ৫ ডিজিট | 00100 | ^\d{5}$ |
| France | FR | ৫ ডিজিট | 75008 | ^\d{5}$ |
| Germany | DE | ৫ ডিজিট | 10115 | ^\d{5}$ |
| Greece | GR | NNN NN | 105 63 | ^\d{3} ?\d{2}$ |
| Hungary | HU | ৪ ডিজিট | 1051 | ^\d{4}$ |
| Ireland | IE | Eircode | D02 X285 | ^[A-Z]\d{2} ?[A-Z0-9]{4}$ |
| Italy | IT | ৫ ডিজিট | 00184 | ^\d{5}$ |
| Latvia | LV | LV-NNNN | LV-1050 | ^LV-\d{4}$ |
| Lithuania | LT | LT-NNNNN | LT-01100 | ^LT-\d{5}$ |
| Luxembourg | LU | ৪ ডিজিট | 1234 | ^\d{4}$ |
| Malta | MT | LLL NNNN | VLT 1234 | ^[A-Z]{3} ?\d{4}$ |
| Netherlands | NL | NNNN LL | 1011 AB | ^\d{4} ?[A-Z]{2}$ |
| Poland | PL | NN-NNN | 00-001 | ^\d{2}-\d{3}$ |
| Portugal | PT | NNNN-NNN | 1000-001 | ^\d{4}-\d{3}$ |
| Romania | RO | ৬ ডিজিট | 010001 | ^\d{6}$ |
| Slovakia | SK | NNN NN | 811 01 | ^\d{3} ?\d{2}$ |
| Slovenia | SI | ৪ ডিজিট | 1000 | ^\d{4}$ |
| Spain | ES | ৫ ডিজিট | 28013 | ^\d{5}$ |
| Sweden | SE | NNN NN | 111 22 | ^\d{3} ?\d{2}$ |
Key Non-EU European দেশসমূহ
| দেশ | ISO | ফরম্যাট | উদাহরণ | Regex |
|---|---|---|---|---|
| United Kingdom | GB | hierarchical | SW1A 1AA | ^[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}$ |
| Switzerland | CH | ৪ ডিজিট | 8001 | ^\d{4}$ |
| Norway | NO | ৪ ডিজিট | 0150 | ^\d{4}$ |
| Iceland | IS | ৩ ডিজিট | 101 | ^\d{3}$ |
| Liechtenstein | LI | ৪ ডিজিট | 9490 | ^\d{4}$ |
UK Postcode বিস্তারিত
UK system হল ইউরোপে সবচেয়ে তথ্য-ঘন। SW1A 1AA-এর মতো code বিভক্ত হয়:
SW: postal area (London South West)SW1A: postal district (St James's এবং Pimlico)SW1A 1: postal sector (কয়েকটি রাস্তা)SW1A 1AA: postal unit (specific delivery point, প্রায়ই একটি ভবন)
এই hierarchy মানে UK postcode একটি ভবন identify করতে পারে, যে কারণে UK product প্রায়ই postcode neighbourhood-level বা এমনকি street-level grouping-এর proxy হিসেবে ব্যবহার করে। অন্য কোনো দেশের postal code system এটি করে না বললেই চলে।
Production Validation Pattern
সবচেয়ে সহজ production approach হল উপরের মতো একটি per-country regex table, address থেকে পাওয়া country code-এর ভিত্তিতে applied। Country code আসতে পারে:
- ব্যবহারকারীর নির্বাচিত একটি explicit dropdown থেকে
- ব্যবহারকারীর IP geolocation থেকে
- Geocoder result থেকে (বেশিরভাগ production geocoder postal code normalise করে এবং response-এ country code অন্তর্ভুক্ত করে)
দেশ না জেনে postal code validate করার চেষ্টা এড়িয়ে চলুন। একটি ৪-ডিজিট code ১২টি দেশে valid এবং আরও অনেকে invalid।
High-stakes flow (checkout, KYC, regulated industry)-এর জন্য regex-এ থামবেন না। Address একটি geocoder-এ পাঠান এবং "rooftop" বা "street" precision response-কে validation হিসেবে treat করুন, শুধু regex match নয়। Correctly formatted postal code এখনও real address-এ match করতে ব্যর্থ হতে পারে।
সংরক্ষণ এবং Normalisation
Postal code string হিসেবে সংরক্ষণ করুন, number নয়। Leading zero গুরুত্বপূর্ণ (01100 একটি valid Lithuanian code; 1100 নয়)। Storage format convention:
- Data set জুড়ে compare করার সময় non-alphanumeric character strip করুন।
- Output-এ country-canonical form-এ display করুন (hyphen, space, prefix সহ)।
- আজ আপনার product শুধুমাত্র একটি দেশে operate করলেও সবসময় postal code-এর পাশে country code সংরক্ষণ করুন। Schema migration ছাড়া multi-country expansion-এ scale করে।
MapAtlas কীভাবে সাহায্য করে
MapAtlas Geocoding API প্রতিটি supported দেশের জন্য একটি normalised address_components.postal_code field ফেরত দেয়, source data-র বিপরীতে validated। Search API postal code input হিসেবে accept করে এবং matching place ফেরত দেয়। উভয় API EU-hosted, GDPR-compliant এবং explicit per-country address parser সহ OSM-grade data-র উপর তৈরি।
Address কীভাবে coordinate হয় তার গভীর বিশ্লেষণের জন্য What Is a Geocode দেখুন। প্রতিটি coordinate response-এর পিছনের longitude ও latitude mechanics-এর জন্য Longitude vs Latitude দেখুন।
সাধারণ জিজ্ঞাসা
European postal code-এর ফরম্যাট কী?
কোনো একক European postal code ফরম্যাট নেই। প্রতিটি দেশ নিজস্ব define করে। বেশিরভাগ fixed-length numeric code ব্যবহার করে (জার্মানি, ফ্রান্স, ইতালি, স্পেনে ৫ ডিজিট; বেলজিয়াম, হাঙ্গেরি, অস্ট্রিয়া, সুইজারল্যান্ডে ৪ ডিজিট), কিন্তু কয়েকটি alphanumeric code ব্যবহার করে (Netherlands ৪ ডিজিট প্লাস ২ অক্ষর, United Kingdom একটি জটিল দুই-অংশ alphanumeric system, Ireland 7-character alphanumeric Eircode ব্যবহার করে)।
German postal code (Postleitzahl) কি Polish postal code-এর মতো?
উভয়ই পাঁচটি character কিন্তু structure আলাদা। Germany ৫টি continuous digit ব্যবহার করে (যেমন 10115)। Poland ২ ডিজিট, একটি hyphen, তারপর ৩ ডিজিট ব্যবহার করে (যেমন 00-001)। সংরক্ষণের জন্য Poland-এর জন্য hyphen সহ canonical form এবং Germany-র জন্য ছাড়া ধরে রাখতে পারেন।
যেকোনো EU দেশের postal code কীভাবে validate করব?
প্রথমে দেশ identify করুন (ঠিকানা থেকে, ISO 3166-1 alpha-2 country code, বা ব্যবহারকারীর geolocation থেকে)। তারপর সেই দেশের regex pattern apply করুন। Country-aware validation হল standard production pattern, কারণ একটি single global regex হয় valid code reject করবে বা clearly invalid গুলো accept করবে। MapAtlas Geocoding API তার `address_components`-এ প্রতিটি দেশের জন্য normalised postal code ফেরত দেয়।
United Kingdom postal code system কেন এত আলাদা দেখায়?
UK postcode একটি hierarchical alphanumeric system ব্যবহার করে যা দুটি অংশে (যেমন Buckingham Palace-এর জন্য SW1A 1AA) postal area, district, sector এবং unit encode করে। এটি বেশিরভাগ দেশীয় system-এর চেয়ে প্রতি code-এ বেশি spatial তথ্য বহন করে, যে কারণে UK postcode কখনো কখনো neighbourhood বা এমনকি পৃথক রাস্তার proxy হিসেবে ব্যবহৃত হয়।

