![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
22/06/2009, 09:46
|
![Avatar de aliza](http://static.forosdelweb.com/customavatars/avatar278887_1.gif) | | | 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... |