本文要点

  • 街道名在前,门牌号在后
  • 五位 PLZ 位于城市名前面
  • 不要在 PLZ 前添加 D- 国家前缀
  • 必须保留 ä、ö、ü 和 ß 等 Unicode 字符
作者
Random Address Generator 编辑团队
审核
国际地址格式审核组
最近实质更新
依据 Deutsche Post 的国内与国际信件地址指南,核对街道、门牌号、PLZ 和国家行。

德国国内地址的基本顺序

德国国内信件通常依次写称呼或收件人、街道与门牌号、五位邮编与城市。这个结构与英语中常见的“门牌号+街道”相反,因此不应在国际化表单中用一个英语正则拆分街道行。

Deutsche Post 要求地址左对齐、行距一致。对于产品团队,这意味着打印标签测试不能只看数据值,还要检查行布局和截断。

格式示例
Lena HoffmannSchillerstraße 1880331 MünchenGERMANY

字段映射与组合显示

数据库可以分别保存 streetName 和 houseNumber,但生成德文标签时必须按当地顺序组合。门牌号还可能包含字母、连字符或范围,因此不适合存为纯整数。

字段示例常见错误
StreetSchillerstraße删除 ß 或强制缩写
House number18a只允许数字
Postal code80331在前面添加 D-
CityMünchen静默改成 Munchen
CountryDE把国家代码拼到邮编

从国外寄往德国时的国家行

国际地址在城市行之下添加完整国家名,且通常使用大写的德语、英语或法语名称。不要把 D- 或 DE- 加在邮编前,这种老式国家前缀容易干扰自动分拣。

在系统中,countryCode 仍可保存 DE,只是打印层要将它转换为符合目标邮政场景的国家名。

德国地址回归测试清单

测试数据应主动覆盖德语字符、门牌字母和长街道名。如果只用 Berlin 和 Hauptstrasse 1,很多编码和布局问题不会暴露。

  • Schillerstraße 中的 ß 往返保留
  • München 中的 ü 在 CSV 导出后不乱码
  • 18a 和 18-20 不被整数验证拒绝
  • 01067 作为文本保留前导零
  • 长街道名在移动端不覆盖复制按钮

地区一致不等于地址存在

一条数据可以同时满足五位 PLZ、德语街道拼写和城市结构,但仍然可能不对应真实门牌。生成数据只用于开发和 QA,投递场景需要授权地址服务。

如何审核一条德国地址的完整数据链

选择同时包含 ß、变音字符和字母门牌号的固定 fixture,先在界面中编辑,再经过 JSON、数据库和 CSV 往返。对每个边界断言字节编码和字符串完全一致。不要将“看起来还能读”作为通过标准,因为 Strasse 可读但已经不是用户输入的 Straße。

接着比较数据存储和德文打印顺序。如果 streetName 与 houseNumber 分列保存,打印层要生成“街道+空格+门牌号”;PLZ 与 city 则生成“邮编+空格+城市”。最后从国外寄件场景打印一次,确认国家名在底部、PLZ 没有 D- 前缀,并且地址区域保持左对齐。

  • 将 Straße、München 和 18a 放入同一回归样本
  • 在输入、API、数据库和导出层比较值
  • 分开测试存储字段与当地组合顺序
  • 用实际标签尺寸检查长街道名

常见问题

德国地址中门牌号写在街道前还是后?

常见德文格式是街道名在前,门牌号在后,例如 Schillerstraße 18。

邮编前需要加 D- 吗?

不需要。Deutsche Post 说明国际地址不应在邮编前添加国家缩写。

为什么门牌号不应存为整数?

因为门牌号可能包含字母、连字符或范围,例如 18a 或 18-20。

来源与进一步阅读

  1. Deutsche Post:信件地址常见问题
  2. Deutsche Post:国际地址不再使用国家前缀