Blogia
Angel

Validar NIF con php

Necesitamos una funcion que compruebe el numero en si, que llame a otra que compruebe la letra:


function nif_ok(&$nif) {

  $nif=trim($nif);  //supresion de blancos

  //$letras="T|R|W|A|G|M|Y|F|P|D|X|B|N|J|Z|S|Q|V|H|L|C|K|E"; //letras permitidas en el nif

  $patron_ok=eregi("^([0-9]{8})-($letras?)$",$nif,$v); //comprobando el patron de nif

  if ($patron_ok) {

    if (!$v[2])

      $nif.=$v[2]=letraNIF($v[1]);

   if (letraNIF($v[1])!=$v[2]){

   return false;    //si la letra es incorrecta devolver no valido

   } else {

     return true;    //si la letra es correcta, validar

   }

  } else {

return false;     //si el patron no es correcto, devolver falso

  }

}

 


function letraNIF($nif){

return substr("TRWAGMYFPDXBNJZSQVHLCKE",$nif%23,1);

}

0 comentarios