Sprawdzenie, czy wartość jest numerem PESEL

Założenie: Stworzymy funkcję w PHP, która sprawdzi, czy podana wartość jest poprawnym numerem PESEL.

Krok po kroku:

  1. Sprawdzenie długości: Numer PESEL ma zawsze 11 cyfr. Sprawdzamy, czy podana wartość ma odpowiednią długość.
  2. 
    function isValidPesel($pesel) {
      if (strlen($pesel) !== 11) {
        return false;
      }
      // ... dalsza część walidacji ...
    }
    				
  3. Sprawdzenie, czy składa się z cyfr: Upewniamy się, że wszystkie znaki w ciągu są cyframi.
  4. 
      if (!ctype_digit($pesel)) {
        return false;
      }
    				
  5. Algorytm kontrolny: Wykonujemy algorytm kontrolny weryfikujący poprawność numeru PESEL (uproszczony przykład – pełna walidacja wymaga bardziej zaawansowanego algorytmu).
  6. 
      $weights = [1, 3, 7, 9, 1, 3, 7, 9, 1, 3, 1];
      $sum = 0;
      for ($i = 0; $i < 11; $i++) {
        $sum += $pesel[$i] * $weights[$i];
      }
      if ($sum % 10 !== 0) {
        return false;
      }
      return true;
    }
    
    $pesel = "12345678901";
    if (isValidPesel($pesel)) {
      echo "PESEL poprawny";
    } else {
      echo "PESEL niepoprawny";
    }
    				
  7. Wyjaśnienie kodu: Funkcja `isValidPesel` najpierw sprawdza długość PESEL-a. Następnie weryfikuje, czy składa się tylko z cyfr. Na końcu stosuje uproszczony algorytm kontrolny, sumując cyfry z wagami. Jeśli suma modulo 10 jest różna od 0, PESEL jest niepoprawny.

Pamiętaj, że ten przykład prezentuje podstawową walidację. Pełna weryfikacja numeru PESEL wymaga bardziej zaawansowanego algorytmu uwzględniającego datę urodzenia i płeć.

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *