Hola a tod@s, he decidido inaugurar mi blog con una función que he necesitado implementar hoy en JavaScript. Después de buscar en San Google y no encontrar ningún código que me convenciera, decidí implementar mi propia función para comprobar si una cuenta bancaria es correcta en función de su dígito de control.
La función compruebaCCC(); devuelve true si la cuenta bancaria es correcta y false si no lo es. Una cuenta bancaria está formada por 4 grupos de dígitos:
|
Si cualquiera de estos números tuviera una longitud inferior a la especificada, se debe rellenar con ceros a la izquierda hasta obtener el número de dígitos correcto. Para lo que empleamos la función rellenaCeros(numero,longitudDeseada);
El primero de los dígitos de control se obtiene de el número de entidad concatenado con el número de sucursal.
El segundo de los dígitos de control se obtiene del número de cuenta.
El algoritmo para calcular los dígitos de control es de tipo checksum y es la suma de los productos de cada dígito, empezando por la derecha, por un peso indicado en la siguiente tabla según su posición.
Posición | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Peso | 6 | 3 | 7 | 9 | 10 | 5 | 8 | 4 | 2 | 1 |
El resultado de dicha suma (s) tendrá el siguiente tratamiento:
dc=(11-(s mod 11))
si (dc==11) entonces dc=0
si dc (dc==10) entonces dc=1
Aquí os dejo la función en JavaScript:
function compruebaCCC(entidad,sucursal,dc,nCuenta){ entidad = rellenaCeros(entidad,4); sucursal = rellenaCeros(sucursal,4); dc = rellenaCeros(dc,2); nCuenta = rellenaCeros(nCuenta,10); var concatenado = entidad+sucursal; var dc1 = calculaDCParcial(concatenado); var dc2 = calculaDCParcial(nCuenta); return (dc==(dc1+dc2)); } function calculaDCParcial(cadena){ var dcParcial = 0; var tablaPesos = [6,3,7,9,10,5,8,4,2,1]; var suma = 0; var i; for(i=0;ii;i++){ ceros += '0'; } return ceros+numero; }
Lo que viene siendo de puta madre vaya!!
Your post will be rather good, and I’m sure some will find it itneresting because it’s about a topic that’s as widely discussed as others. Some may even find it useful.thank so much for your post.
Thanks Sticy.
If your articles are aylaws this helpful, «I’ll be back.»
[…] calcular el IBAN en JavaScript. Algunas de las funciones que aquí aparecen están explicadas en este POST. A continuación os voy a dejar una breve explicación de como se […]