Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/06/2009, 09:46
Avatar de aliza
aliza
 
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 16 años, 1 mes
Puntos: 6
Respuesta: Cansao de buscar algo para validar CIF, (Ayuda)

Prueba con esto:
function letraNIF($nif) {
return substr("TRWAGMYFPDXBNJZSQVHLCKE",$nif%23,1);
//esta operacion me va a devolver la letra. Lo que hace es dividir el dni por
//modulo 23, y el resultado es la posicion en la cadena de la letra
}
function cif_ok(&$cif) {
$cif=trim($cif); //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 cif, | indica optativa entre esas letras
$patron_ok=eregi("^($letras)-([0-9]{8})$",$cif,$v); //comprobando el patron de nif
if (patron_ok) {
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
}
}
__________________
Dando cabezados se aprende...