Funkcja sprawdzająca poprawność NIP w PHP

NIP czyli Numer Identyfikacji Podatkowej, w Polsce każdy podatnik posiada taki właśnie numer. W wielu serwisach, przy rejestracji wymagane pole to właśnie taki numer, potrzebny on jest przeważnie w celu wystawienia faktury.

Czy można napisać funkcję która sprawdzi porawność numeru NIP? Oczywiście, ponieważ numer NIP generowany jest na podstawie znanego algorytmu. NIP składa się z dziesięciu cyfr, ostatnia cyfra to suma kontrolna.

function sprawdzNIP($nip)
{
//sprawdzamy czy $nip składa się z 10 cyfer
if (strlen($nip) != 10)
{
return false;
}
//wrzucamy wagi w tablicę
$wagi = array(6, 5, 7, 2, 3, 4, 5, 6, 7);
$suma=0;
//mnożymy każdą z cyfer po kolei przez kolejne wagi o sumujemy
for ($i = 0; $i < 9; $i++)
{
$suma += $wagi[$i] * $nip[$i];
}
//obliczamy resztę z dzielenia przez 11
$reszta = $suma % 11;
//sprawdzamy czy suma kontrolna się zgadza
$sumakontrolna=($reszta == 10)?0:$reszta;
if ($sumakontrolna == $nip[9])
{
return true;
}
return false;
}
?>

Komentowanie jest zakończone.