BizKitHub

Normalizace telefonních čísel

Uložená reprezentace je:

Naposledy aktualizováno 1. srpna 2026

Telefonní čísla jsou jedním z klíčových identifikátorů nakupujícího na platformě — používají se pro oznámení o stavu objednávky, připomenutí událostí, kontakt s doručovatelem a v některých případech pro obnovu účtu. Protože telefonní číslo zadané do formuláře přichází v nepředvídatelném tvaru (+420 777 123 456, 777 123 456, +420777123456, 00420 777.123.456), každé telefonní číslo je před uložením normalizováno do jednotného kanonického formátu.

Stejné fyzické číslo může být připojeno k více než jednomu kontaktu — telefonní číslo samo o sobě není unikátním klíčem. Důležité je, že když je uloženo, je uloženo ve formě, se kterou platforma může pracovat.

Kanonický formát

Uložená reprezentace je:

+{prefix} {value}

Například: +420 777123456.

Hodnota splňuje následující invarianty:

  • Číslo je uloženo jako řetězec, nikdy jako celé číslo.
  • Předvolba země (+420 pro Českou republiku, +44 pro Spojené království atd.) je vždy přítomna. To zajišťuje, že hodnota je globálně smysluplná i mimo platformu.
  • Přesně jedna mezera odděluje předvolbu od účastnické části. Jedná se o jediný oddělovač v rámci uložené hodnoty.
  • Účastnická část nemá vnitřní mezery — číslice následují nepřetržitě.
  • Účastnická část musí splňovat pravidla délky a tvaru, která pro danou předvolbu platí validátor platformy. Číslo, které porušuje pravidla své země, je odmítnuto při vstupu.
  • Formátování pro zobrazení je záležitostí prezentace, nikoli ukládání. Uložená hodnota je vždy kanonická; uživatelské rozhraní může při vykreslování vkládat další mezery nebo pomlčky.

Proč je normalizace důležitá

Ukládání telefonních čísel v jednotné kanonické podobě chrání několik navazujících systémů před nutností je znovu parsovat:

  • Vyhledávání může shodovat podle přesného řetězce bez potřeby tolerance pro odchylky ve formátování.
  • Deduplikace napříč sloučením dvou datových zdrojů je přímočará: dvě kanonické hodnoty, které se liší, jsou skutečně různá čísla.
  • Odchozí integrace — SMS brána, API operátorů, kurýrní notifikační služby — obdrží tvar, který mohou spotřebovat bez dalšího zpracování.
  • Podpora může předat číslo jakémukoli externímu nástroji bez předběžného překladu.

Prezentace

Když je telefonní číslo zobrazeno člověku — v administraci, na tištěné faktuře, v e-mailové šabloně — uživatelské rozhraní může volně přidávat mezery, pomlčky nebo regionálně specifické formátování. Prezentační vrstva je správným místem pro stylizaci specifickou pro danou lokalitu. Pouze uložená forma zaručuje, že odpovídá výše uvedenému kanonickému tvaru.


Související články

  • Utils — index bezstavových utilit platformy.
  • Normalizace řetězců — související normalizátory pro textová pole s volným textem.

Související články