Spis treści
Wprowadzenie do walidacji
Walidacja numerów identyfikacyjnych to kluczowy element każdej aplikacji obsługującej polskie dane. Poprawna implementacja algorytmów walidacji zapewnia integralność danych i zmniejsza ryzyko błędów.
Dlaczego walidacja jest ważna?
Walidacja numerów nie tylko sprawdza poprawność danych, ale też pomaga wykryć błędy wprowadzania i zwiększa zaufanie użytkowników do aplikacji.
Walidacja numeru PESEL
PESEL składa się z 11 cyfr, gdzie ostatnia cyfra to suma kontrolna obliczana według specjalnego algorytmu.
Algorytm walidacji PESEL
- 1. Pomnóż każdą cyfrę przez odpowiedni współczynnik: 1,3,7,9,1,3,7,9,1,3
- 2. Zsumuj wszystkie wyniki
- 3. Weź ostatnią cyfrę sumy
- 4. Odejmij od 10 (jeśli wynik to 10, użyj 0)
- 5. Porównaj z 11. cyfrą PESEL
Przykład kodu JavaScript
function validatePESEL(pesel) {
if (pesel.length !== 11) return false;
const weights = [1, 3, 7, 9, 1, 3, 7, 9, 1, 3];
let sum = 0;
for (let i = 0; i < 10; i++) {
sum += parseInt(pesel[i]) * weights[i];
}
const checkDigit = (10 - (sum % 10)) % 10;
return checkDigit === parseInt(pesel[10]);
}
Walidacja numeru NIP
NIP to 10-cyfrowy numer z cyfrą kontrolną jako ostatnią cyfrą.
Algorytm walidacji NIP
- 1. Pomnóż cyfry 1-9 przez współczynniki: 6,5,7,2,3,4,5,6,7
- 2. Zsumuj wyniki
- 3. Weź resztę z dzielenia przez 11
- 4. Porównaj z 10. cyfrą
Przykład kodu JavaScript
function validateNIP(nip) {
nip = nip.replace(/[-\s]/g, '');
if (nip.length !== 10) return false;
const weights = [6, 5, 7, 2, 3, 4, 5, 6, 7];
let sum = 0;
for (let i = 0; i < 9; i++) {
sum += parseInt(nip[i]) * weights[i];
}
const checkDigit = sum % 11;
return checkDigit === parseInt(nip[9]);
}
Reklama
Reklama
Reklama
Wymaga zgody na pliki cookie
Walidacja numeru REGON
REGON może mieć 9 lub 14 cyfr. Oba formaty mają swoje algorytmy walidacji.
Algorytm dla REGON 9-cyfrowego
- 1. Pomnóż cyfry 1-8 przez współczynniki: 8,9,2,3,4,5,6,7
- 2. Zsumuj wyniki
- 3. Weź resztę z dzielenia przez 11
- 4. Jeśli reszta to 10, cyfra kontrolna to 0
Walidacja numeru IBAN
Polski IBAN składa się z 28 znaków: "PL" + 2 cyfry kontrolne + 24 cyfry numeru konta.
Algorytm walidacji IBAN
- 1. Przenieś pierwsze 4 znaki na koniec
- 2. Zamień litery na cyfry (A=10, B=11, ..., Z=35)
- 3. Oblicz resztę z dzielenia przez 97
- 4. Jeśli reszta to 1, IBAN jest poprawny
Dobre praktyki walidacji
Walidacja dwustronna
Zawsze implementuj walidację zarówno w przeglądarce (dla UX) jak i na serwerze (dla bezpieczeństwa).
Jasne komunikaty
Przekazuj użytkownikom jasne informacje o tym, co jest nie tak z wprowadzonym numerem.
Wskazówka
Użyj naszych generatorów do tworzenia poprawnych numerów testowych i sprawdzania, czy Twoja walidacja działa prawidłowo.
Podsumowanie
Poprawna walidacja numerów identyfikacyjnych to podstawa niezawodnych aplikacji. Implementując opisane algorytmy, zapewnisz wysoką jakość danych i lepsze doświadczenie użytkowników.