Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- getDv : function(patente) {
- var key = '';
- var patAux = patente.toUpperCase();
- var a = 0;
- var b = 0;
- var x;
- var digi1;
- var digi2;
- var letrasValidas = {};
- var patronNumeroFinal = /\d{9,10}/;// segun el comentario
- // que esta al lado de
- // cada patente valida
- // puede quedar un
- // numero de entre 9 y
- // 10 caracteres
- letrasValidas['A'] = '14';
- letrasValidas['B'] = '01';
- letrasValidas['C'] = '00';
- letrasValidas['D'] = '16';
- letrasValidas['E'] = '05';
- letrasValidas['F'] = '20';
- letrasValidas['G'] = '19';
- letrasValidas['H'] = '09';
- letrasValidas['I'] = '24';
- letrasValidas['J'] = '07';
- letrasValidas['K'] = '21';
- letrasValidas['L'] = '08';
- letrasValidas['M'] = '04';
- letrasValidas['N'] = '13';
- letrasValidas['O'] = '25';
- letrasValidas['P'] = '22';
- letrasValidas['Q'] = '18';
- letrasValidas['R'] = '10';
- letrasValidas['S'] = '02';
- letrasValidas['T'] = '06';
- letrasValidas['U'] = '12';
- letrasValidas['V'] = '23';
- letrasValidas['W'] = '11';
- letrasValidas['X'] = '03';
- letrasValidas['Y'] = '15';
- letrasValidas['Z'] = '17';
- letrasValidas[' '] = '60';
- if (this.patronPatAutoVieja.test(patAux)) {
- for (key in letrasValidas) {// REEMPLAZO LAS LETRAS VALIDAS POR
- // 00 YA QUE ASI ES PARA LAS
- // PATENTES VIEJAS
- patAux = patAux.replace(key, "00");
- }
- } else {
- for (key in letrasValidas) {// REEMPLAZO LAS LETRAS VALIDAS POR
- // LOS NUMEROS QUE LE CORRESPONDEN
- patAux = patAux.replace(key, letrasValidas[key]);
- patAux = patAux.replace(key, letrasValidas[key]);
- patAux = patAux.replace(key, letrasValidas[key]);
- }
- }
- if (!patronNumeroFinal.test(patAux)) {// SI ACA NO TENGO UN NUMERO SE
- // MANDO ALGUN CARACTER RARO O
- // UNA Ñ
- throw Error('No es válida la patente ingresada.');
- }
- // AHORA SUMO LOS PARES EN A Y LOS IMPARES EN B
- for (x = 0; x < patAux.length; x++) {
- if (x % 2 == 0)
- a += parseInt(patAux.charAt(x));
- else
- b += parseInt(patAux.charAt(x));
- }
- // SUMO LOS DIGITOS DEL RESULTADO QUE QUEDO EN A
- digi1 = new String(a);
- while (digi1.length > 1) {// MIENTRAS HAYA MAS DE UN DIGITO, LOS SUMO
- a = 0;
- for (x = 0; x < digi1.length; x++) {
- a += parseInt(digi1.charAt(x));
- }
- digi1 = new String(a);
- }
- // SUMO LOS DIGITOS DEL RESULTADO QUE QUEDO EN B
- digi2 = new String(b);
- while (digi2.length > 1) {// MIENTRAS HAYA MAS DE UN DIGITO, LOS SUMO
- b = 0;
- for (x = 0; x < digi2.length; x++) {
- b += parseInt(digi2.charAt(x));
- }
- digi2 = new String(b);
- }
- return parseInt(a + '' + b);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement