En España, las cuentas bancarias se identifican por un número de 20 cifras. De ellas, 4 identifican al banco, 4 a la sucursal donde abrimos la cuenta, 10 a la cuenta en sí y otros 2 se incluyen como dígitos de control para validar el número. Vamos a estudiar cómo validar estos dígitos.
Cada dígito de control valida una cosa. El primero se encarga del banco y sucursal y el segundo del número de cuenta. Para validarlo otorgan a cada cifra un peso (es decir, un número distinto por el que multiplicarla) y suman los resultados. Luego, al número resultante le hacen una serie de perrerías para convertirlo en una sola cifra. En definitiva, esta es la función que, a partir de una cadena que contiene un número de diez cifras, devuelve el dígito de control correspondiente:
function obtenerDigito(valor){
valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
control = 0;
for (i=0; i<=9; i++)
control += parseInt(valor.charAt(i)) * valores[i];
control = 11 - (control % 11);
if (control == 11) control = 0;
else if (control == 10) control = 1;
return control;
}
Esta será la base de nuestro sistema. Pero antes de esto tendremos que habernos asegurado de que el valor que le pasamos cumple los requisitos.
Tenemos aún que hacer algunas cosas más. Aparte de comprobar los dígitos de control, antes deberemos asegurarnos de que el usuario ha rellenado completamente los campos con número. Para ello nos serviremos de la siguiente función:
function numerico(valor){
cad = valor.toString();
for (var i=0; i<cad.length; i++) {
var caracter = cad.charAt(i);
if (caracter<"0" || caracter>"9")
return false;
}
return true;
}
De modo que ahora sólo nos queda hacer el formulario:
<FORM NAME="ccc">
<TABLE BORDER=0>
<TR>
<TD>Banco</TD>
<TD>Sucursal</TD>
<TD>Dígitos de control</TD>
<TD>Número de cuenta</TD>
</TR>
<TR>
<TD><INPUT TYPE="text" NAME="banco" MAXLENGTH="4" SIZE="4"></TD>
<TD><INPUT TYPE="text" NAME="sucursal" MAXLENGTH="4" SIZE="4"></TD>
<TD><INPUT TYPE="text" NAME="dc" MAXLENGTH="2" SIZE="2"></TD>
<TD><INPUT TYPE="text" NAME="cuenta" MAXLENGTH="10" SIZE="10"></TD>
</TR>
<TR>
<TD COLSPAN="4" ALIGN="CENTER"><INPUT TYPE="button" VALUE="Validar"
onClick="validar(this.form)"></TD>
</TR>
</TABLE>
</FORM>
Y hacer una función que realice las comprobaciones. Esta función comprueba primero que se hayan rellenado los campos,luego que se haya rellenado por completo, después que el texto introducido se componga exclusivamente de número y, finalmente, que los dígitos de control sean correctos. Dado que el número formado por la unión de las cuatro cifras del banco y las cuatro de la sucursal es sólo de ocho cifras, se ponen dos ceros a la izquierda del mismo para que la validación del dígito funcione:
Usuarios que han visto este tema también han visto...
- Ventas móviles con JavaScript
- Efecto de transición FadeIn en imágenes con JavaScript
- Construye tu propio reloj
- Como ocultar la URL en la barra de estado
- Nivelando la altura de capas paralelas con JQuery
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.