Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Validacion del CiF

Estas en el tema de Validacion del CiF en el foro de Mysql en Foros del Web. Tengo esta funcion para comprobar que el CIF que se introduce en un formulario es válido, pero no me funciona.- Tengo un formulario en el ...
  #1 (permalink)  
Antiguo 17/07/2006, 05:39
 
Fecha de Ingreso: julio-2006
Mensajes: 18
Antigüedad: 17 años, 9 meses
Puntos: 0
Validacion del CiF

Tengo esta funcion para comprobar que el CIF que se introduce en un formulario es válido, pero no me funciona.-
Tengo un formulario en el que introduzco los datos y los paso a un archivo para comprobar una serie de campos, entre ellos el CIF.-
Este es un trozo del script que he realizado :
<?php
if(empty($cif))
{
die("No hay incluido cif");
}

else
{
echo $cif;
}

?>
<?php
if (isset($cif))

{

if (@mysql_result(@mysql_query("SELECT nombre FROM empresas WHERE cif='$cif'"),'cif')) die('El cif de la empresa ya existe');

}

else
echo $cif;
function cif ();
?>
El script de validación es este:
function cif($cif)
{
par = 0
non = 0
letras="ABCDEFGHKLMNPQS"
let=cif.charAt(0)

if (!isNaN(let))
{
nif=cif
validar(nif)
return false
}

if (cif.length!=9)
{
alert('El Cif debe tener 9 dígitos')
document.formulario.nif.focus()
return false
}

if (letras.indexOf(let.toUpperCase())==-1)
{
alert("El comienzo del Cif no es válido")
document.formulario.nif.focus()
return false
}

for (zz=2;zz<8;zz+=2)
{
par = par+parseInt(cif.charAt(zz))
}

for (zz=1;zz<9;zz+=2)
{
nn = 2*parseInt(cif.charAt(zz))
if (nn > 9) nn = 1+(nn-10)
non = non+nn
}

parcial = par + non

control = (10 - ( parcial % 10))

if (control==10) control=0

if (control!=cif.charAt(8))
{
alert("El Cif no es válido")
document.formulario.nif.focus()
return false
}
alert("El Cif es válido")

POR FAVOR UNA AYUDITA.-GRACIAS
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:23.