daily pastebin goal
56%
SHARE
TWEET

Validator

a guest Feb 5th, 2015 397 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. getDv : function(patente) {
  2.                 var key = '';
  3.                 var patAux = patente.toUpperCase();
  4.                 var a = 0;
  5.                 var b = 0;
  6.                 var x;
  7.                 var digi1;
  8.                 var digi2;
  9.                 var letrasValidas = {};
  10.                 var patronNumeroFinal = /\d{9,10}/;// segun el comentario
  11.                 // que esta al lado de
  12.                 // cada patente valida
  13.                 // puede quedar un
  14.                 // numero de entre 9 y
  15.                 // 10 caracteres
  16.  
  17.                 letrasValidas['A'] = '14';
  18.                 letrasValidas['B'] = '01';
  19.                 letrasValidas['C'] = '00';
  20.                 letrasValidas['D'] = '16';
  21.                 letrasValidas['E'] = '05';
  22.                 letrasValidas['F'] = '20';
  23.                 letrasValidas['G'] = '19';
  24.                 letrasValidas['H'] = '09';
  25.                 letrasValidas['I'] = '24';
  26.                 letrasValidas['J'] = '07';
  27.                 letrasValidas['K'] = '21';
  28.                 letrasValidas['L'] = '08';
  29.                 letrasValidas['M'] = '04';
  30.                 letrasValidas['N'] = '13';
  31.                 letrasValidas['O'] = '25';
  32.                 letrasValidas['P'] = '22';
  33.                 letrasValidas['Q'] = '18';
  34.                 letrasValidas['R'] = '10';
  35.                 letrasValidas['S'] = '02';
  36.                 letrasValidas['T'] = '06';
  37.                 letrasValidas['U'] = '12';
  38.                 letrasValidas['V'] = '23';
  39.                 letrasValidas['W'] = '11';
  40.                 letrasValidas['X'] = '03';
  41.                 letrasValidas['Y'] = '15';
  42.                 letrasValidas['Z'] = '17';
  43.                 letrasValidas[' '] = '60';
  44.  
  45.                 if (this.patronPatAutoVieja.test(patAux)) {
  46.                         for (key in letrasValidas) {// REEMPLAZO LAS LETRAS VALIDAS POR
  47.                                 // 00 YA QUE ASI ES PARA LAS
  48.                                 // PATENTES VIEJAS
  49.                                 patAux = patAux.replace(key, "00");
  50.                         }
  51.                 } else {
  52.                         for (key in letrasValidas) {// REEMPLAZO LAS LETRAS VALIDAS POR
  53.                                 // LOS NUMEROS QUE LE CORRESPONDEN
  54.                                 patAux = patAux.replace(key, letrasValidas[key]);
  55.                                 patAux = patAux.replace(key, letrasValidas[key]);
  56.                                 patAux = patAux.replace(key, letrasValidas[key]);
  57.                         }
  58.                 }
  59.  
  60.                 if (!patronNumeroFinal.test(patAux)) {// SI ACA NO TENGO UN NUMERO SE
  61.                         // MANDO ALGUN CARACTER RARO O
  62.                         // UNA Ñ
  63.                         throw Error('No es válida la patente ingresada.');
  64.                 }
  65.  
  66.                 // AHORA SUMO LOS PARES EN A Y LOS IMPARES EN B
  67.                 for (x = 0; x < patAux.length; x++) {
  68.                         if (x % 2 == 0)
  69.                                 a += parseInt(patAux.charAt(x));
  70.                         else
  71.                                 b += parseInt(patAux.charAt(x));
  72.                 }
  73.  
  74.                 // SUMO LOS DIGITOS DEL RESULTADO QUE QUEDO EN A
  75.                 digi1 = new String(a);
  76.                 while (digi1.length > 1) {// MIENTRAS HAYA MAS DE UN DIGITO, LOS SUMO
  77.                         a = 0;
  78.                         for (x = 0; x < digi1.length; x++) {
  79.                                 a += parseInt(digi1.charAt(x));
  80.                         }
  81.                         digi1 = new String(a);
  82.                 }
  83.  
  84.                 // SUMO LOS DIGITOS DEL RESULTADO QUE QUEDO EN B
  85.                 digi2 = new String(b);
  86.                 while (digi2.length > 1) {// MIENTRAS HAYA MAS DE UN DIGITO, LOS SUMO
  87.                         b = 0;
  88.                         for (x = 0; x < digi2.length; x++) {
  89.                                 b += parseInt(digi2.charAt(x));
  90.                         }
  91.                         digi2 = new String(b);
  92.                 }
  93.  
  94.                 return parseInt(a + '' + b);
  95.         }
  96. };
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top