Jak sprawdzić poprawność kodu pocztowego?

Data aktualizacji: 22.04.2024r. Autor: Bartosz Stefanicki.

Jak sprawdzić poprawność kodu pocztowego?

Jak zweryfikować czy użytkownik podał poprawny kod pocztowy, czy zachował jego poprawną formę?

Kod pocztowy, inaczej pocztowy numer adresowy to w Polsce ciąg cyfr. Dodawany do adresu, by ułatwiać sortowanie przesyłek. Wprowadzony 1 stycznia 1973 roku. Pierwsza cyfra określa okręg pocztowy, a cały PNA jest przypisany do urzędu pocztowego, albo do poszczególnych ulic i domów.

1. Walidacja za pomocą JavaScript

Poniżej kod JavaScript, który weryfikuje czy użytkownik wprowadził format CC-CCC, gdzie C to cyfra.

function checkPostalCode(code) {
    const regex = /^[0-9]{2}-[0-9]{3}$/;

    if (! regex.test(code.value)) {
        alert('Wprowadzono błędny kod pocztowy.');
        code.value = '';
    }
}

Ostatnią rzeczą jest kawałek kodu HTML - formularz który wysyła dalej dane, wprowadzone przez użytkownika.

<form action="" name="form" method="post">
<input type="text" name="postal_code" onblur="checkPostalCode(this)" />
</form>

2. Walidacja za pomocą HTML5

Najszybszym sposobem jest skorzystanie z HTML5, to rozwiązanie podsunął Comandeer w komentarzu. Do pola formularza należy dodać nowy atrybut pattern. Pozwala określić wyrażenie regularne, który musi być spełnione podczas wpisywania tekstu przez użytkownika. Przy nieprawidłowym wypełnieniu formularza, nie zostanie on wysłany.

<form action="" name="form" method="post">
<input type="postal_code" pattern="^[0-9]{2}-[0-9]{3}$">
</form>

Zgodnie z powyższym przykładem kod pocztowy musi składać się z dwóch cyfr, potem myślnika i trzech cyfr, np. 00-999.

3. Walidacja za pomocą PHP

Na podstawie powyższego kodu HTML walidacja tym razem za pomocą PHP.

$postalCode = $_POST['postal_code'];

if (! isset($postalCode) || ! preg_match('/^[0-9]{2}-?[0-9]{3}$/Du', $postalCode)) {
    echo 'Wprowadzono błędny kod pocztowy.';
}

Jeśli nie znasz kodu pocztowego dla określonej lokalizacji, ulicy i miasta, możesz go szybko znaleźć na stronie http://poczta-polska.pl/kody/.

Kategorie: HTML + CSS, PHP + MySQL. Tagi: #formularze, #html, #php, #skrypty. Źródło obrazków: Pixabay, Font awesome.

Zobacz także

6 komentarzy