×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Javascript
Posted by: Joel Quenard
Added: Dec 7, 2021 5:36 PM
Modified: Jan 14, 2022 5:32 PM
Views: 601
Tags: no tags
  1. function comprobarCups() {
  2.     let cups = document.getElementById("cups");
  3.     let pais = cups.value.substr(0, 2);
  4.     let distribuidor = cups.value.substr(2, 4);
  5.     let libre = cups.value.substr(6, 12);
  6.     let comprobante = cups.value.substr(18, 2);
  7.     let num = cups.value.substr(20, 1);
  8.     let letr = cups.value.substr(21, 1);
  9.     let numero = cups.value.substr(2, 16);
  10.     let letra = 'TRWAGMYFPDXBNJZSQVHLCKET';
  11.     cups.setCustomValidity('');
  12.     var expresion_regular_cups = /^[a-zA-Z]{2}\d{16}[a-zA-Z]{2}\d?[a-zA-Z]?$/;
  13.     if (expresion_regular_cups.test(cups.value) == true) {
  14.         numero = numero % 529;
  15.         modulo = numero % 23;
  16.         cociente = numero / 23;
  17.         letraCociente = letra.substring(cociente, cociente + 1);
  18.         letraModulo = letra.substring(modulo, modulo + 1);
  19.         if (comprobante.substr(0, 1).toUpperCase() != letraCociente || comprobante.substr(1, 1).toUpperCase() != letraModulo) {
  20.             cups.setCustomValidity('CUPS erroneo, los comprobantes no se corresponden');
  21.         }
  22.     } else {
  23.         cups.setCustomValidity('CUPS erroneo, formato no válido');
  24.     }
  25. }
  26.