miércoles, 10 de diciembre de 2008

Dar Formato al ingreso de numeros con javascript

Continuando con la publicación anterior, ahora utilizaremos las funciones que hemos escrito anteriormente para JavaScript. Ver aquí.


Lo haremos con un pequeño ejemplo. Se trata de dar formato a un número a medida que se va digitando en un cuadro de texto. Esta función se puede usar para el ingreso de códigos o para el RUT en el caso de Chile. Trataré de ser lo mas simple posible. La optimización de la función se las dejo a ustedes.

Si quieres ver como funciona, mira esta página Desachile.com.


La función quedaría así:


function Formato(num)
{
var largo = num.length;
var i, dd, ss, largo2, valor, punto, nvalor

dd=Replace(num,".","");
dd=Replace(dd,",","");
dd=Replace(dd,"-","");

if (Len(dd) <= 1)
{
if (IsNumeric(dd) == false)
{
num = "";
return (num);
}
}
else
{
if (IsNumeric(Left(dd, Len(dd) - 1)) == false)
{
num = "";
return (num);
}
}
largo2 = Len(dd);
i = 3;
valor = Left(dd, largo2 - 1);
largo = Len(valor);
nvalor = "";

if (largo2 >= 4)
{
while (i <= largo)
{
if (i < largo)
{
punto = ".";
}
else
{
punto = "";
}
nvalor = punto + Right(valor, 3) + nvalor;

if (Len(valor) > 1)
{
valor = Left(valor, Len(valor) - 3)
}
i = i + 3
}
nvalor = valor + nvalor;
nvalor = nvalor + "-" + Right(dd, 1);
return (nvalor);
}
else
{
if (largo2 > 1)
{
nvalor = Left(valor, 3) + "-" + Right(dd, 1);
}
else
{
nvalor=Replace(num,"-","");
}
return (nvalor);
}
}




Para mis amigos de Chile, les dejo como tarea el cálculo automático del digito verificador del RUT a medida que se van ingresando valores. En una futura publicación mostraré mi solución.

Saludos a todos. Toby.

1 comentario:

  1. en el cuadro de texto la accion es onbluer onchange cual????

    ResponderEliminar

Entradas populares