ccc

Javascript: Chequear CIF, NIF, etc

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