JavaScript - Validación NIf /Cif

 
Vista:

Validación NIf /Cif

Publicado por Luis (2 intervenciones) el 14/06/2001 09:55:02
Necesito una función que valide para la misma caja de texto tanto el Nif como el Cif.

Muchas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Validación NIf /Cif

Publicado por Gonzalo (2 intervenciones) el 14/06/2001 11:00:03
La siguiente función comprueba que un NIF introducido en el formato 12345678L si es correcto o no. Funciona perfectamente y le he utilizado en más de una web. Con los CIF no se puede hacer porque las letras llevan un algoritmo aleatorio. Espero que te sirva

function comprobarNIF(NIF){
var Numero = parseInt(NIF.substring(0,NIF.length-1));
var Letras = "TRWAGMYFPDXBNJZSQVHLCKET";
var parteEntera = parseInt(Numero/23)*23;
var Letra = NIF.charAt(NIF.length-1);
var LetraCorrecta = Letras.charAt(Numero - parteEntera);
if (LetraCorrecta == Letra.toUpperCase()){
return true;
}else{
return false;
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validación NIf /Cif

Publicado por Luis (2 intervenciones) el 18/06/2001 19:07:39
He encontrado una "funcioncita" que valida ambos

function validaNif2(cadenaNif)
{
var cadenaNif2 = cadenaNif.value;

alert (cadenaNif2);

var valoresNif= new Array ("0","1","2","3","4","5","6","7","8","9","K","L","X");
var valoresCif= new Array ("A","B","C","D","E","F","G","H","N","P","Q","S");
var controlNif = new Array ("T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E");
var controlCifLetras = new Array ("A","B","C","D","E","F","G","H","I","J");

//Si lleva guiones o espacios en blanco, error
for(var i=0;i < cadenaNif2.length;i++){
var car = cadenaNif2.substring(i,i+1);

if (car == "" || car== "-" || car == " " || car == "."){
alert ("Campo no válido");
cadenaNif.select();
//return 10; //Lleva punto, guión o espacio
}
}

//if (cadenaNif2.length != 9) return 1; //EL nif no tiene la longitud adecuada.
//caracterControl=cadenaNif2.substring(8,9).toUpperCase();

caracterControl=cadenaNif2.substring(cadenaNif2.length-1,cadenaNif2.length).toUpperCase();%0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar