function cif_valido(value) {
var sum,
num = [],
digitoControl;
for (var i = 0; i < 9; i++) {
num[ i ] = parseInt(value.charAt(i), 10);
}
sum = num[ 2 ] + num[ 4 ] + num[ 6 ];
for (var count = 1; count < 8; count += 2) {
var tmp = (2 * num[ count ]).toString(),
tmpValor = tmp.charAt(1);
sum += parseInt(tmp.charAt(0), 10) + (tmpValor === '' ? 0 : parseInt(tmpValor, 10));
}
if (/^[ABCDEFGHJNPQRSUVW]{1}/.test(value)) {
sum += '';
digitoControl = 10 - parseInt(sum.charAt(sum.length - 1), 10);
value += digitoControl;
return (num[ 8 ].toString() === String.fromCharCode(64 + digitoControl) || num[ 8 ].toString() === value.charAt(value.length - 1));
}
return false;
}
Chequear NIF:
function checkNIF(dni) {
expresion_regular_dni = /^\d{8}[a-zA-Z]$/;
if(expresion_regular_dni.test (dni) == true){
numero = dni.substr(0,dni.length-1);
let = dni.substr(dni.length-1,1);
numero = numero % 23;
letra = 'TRWAGMYFPDXBNJZSQVHLCKET';
letra = letra.substring(numero,numero+1);
if (letra != let.toUpperCase()) {
alert('Dni erroneo, la letra del NIF no se corresponde');
return false;
}
}
else {
alert("Error: ese formato de NIF no es correcto");
return false;
}
return true;
}
No hay comentarios:
Publicar un comentario