4.15.1 NIP

Ostatnia modyfikacja: 2005-01-12 11:15:27



<?php
# zwraca 1 gdy NIP jest poprawny

function check_nip($nip)
{
  
// tworzenie tablicy wag
  
$steps = array(657234567);

  
// wycinanie zbędnych znaków z numeru
  
$nip str_replace('-'''$nip);
  
$nip str_replace(' '''$nip);
   
  if (
strlen($nip) != 10) return 0;

  
// tworzenie sumy iloczynów
  
for ($x 0$x 9$x++) $sum_nb += $steps[$x] * $nip[$x];

  
$sum_m $sum_nb 11;

  if (
$sum_m == 10$sum_m 0//*
  
if ($sum_m == $nip[9]) return 1;

  return 
0;
}

// sposób wykorzystania
if (check_nip('768-000-24-66')) echo 'NIP poprawny';
?>

* Poprawka z dnia 03.09.2004, błąd zauważył Anakin

Szczegółowe informacje na temat algorytmu m.in. na stronie: http://wipos.p.lodz.pl/zylla/ut/nip-rego.html

Inny sposób sprawdzenia można zobaczyć na stronie:
http://anakin.us/faq/4.15.php


Powrót do indeksu