Foros del Web » Programando para Internet » Javascript »

problemas validar CIF/NIF

Estas en el tema de problemas validar CIF/NIF en el foro de Javascript en Foros del Web. Hola gente!!!! Tengo un problema con la opción de validar el CIF o NIF de una empresa. Consegui por aqui un codigo que lo validaba: ...
  #1 (permalink)  
Antiguo 25/01/2007, 03:32
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 17 años, 3 meses
Puntos: 1
problemas validar CIF/NIF

Hola gente!!!!
Tengo un problema con la opción de validar el CIF o NIF de una empresa. Consegui por aqui un codigo que lo validaba:

<script>
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
}

formulario.submit();
}

function validar(abc)
{
dni=abc.substring(0,abc.length-1)
let=abc.charAt(abc.length-1)
if (!isNaN(let))
{
alert('Falta la letra')
document.formulario.nif.focus()
return false
}
else
{
cadena="TRWAGMYFPDXBNJZSQVHLCKET"
posicion = dni % 23
letra = cadena.substring(posicion,posicion+1)
if (letra!=let.toUpperCase())
{
alert("Nif no válido")
document.formulario.nif.focus()
return false
}
}
alert("Nif válido")
formulario.submit();
}
</script>

Esto me funciona bien si en la caja de texto llamo a la funcion:
<input type="text" name="nif" onBlur="cif(this.value)">

pero claro, yo este campo lo tengo metido en un formulario con un boton aceptar que envia varios datos. Si pongo dentro del boton el onClick="cif(this.value)" pues no funciona igual.

Alguien me daria una solución?

Gracias y un saludo.
  #2 (permalink)  
Antiguo 25/01/2007, 17:46
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: problemas validar CIF/NIF

onclick="cif( document.getElementsByName('nif')[0].value )"

Suponiendo que es el primer elemento que se llama 'nif' en el documento. Lo que pasas a la funcion es el valor de la caja en cuestión, y no el valor del objeto actual (this).
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #3 (permalink)  
Antiguo 26/01/2007, 03:38
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: problemas validar CIF/NIF

Funciona genial.

Muchas gracias!!!!!
  #4 (permalink)  
Antiguo 14/03/2008, 07:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 1
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: problemas validar CIF/NIF

Hola cual es el problema con las Nif.. y las catalogan de insevibles?
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:12.