formateo-de-miles

Este es un buen ejemplo de uso de expresiones regulares para formatear un numero con Javascript.

La idea es escribir en una caja de texto, por ejemplo:

123456789

y que automaticamente, aparezcan los separadores de miles quedando un resultado como el sgte:

123.456.789

A continuacion el codigo completo de la pagina y la funcion javascript:

La funcion JS es la sgte:

function format(input)
{
var num = input.value.replace(/\./g,”);
if(!isNaN(num)){
num = num.toString().split(”).reverse().join(”).replace(/(?=\d*\.?)(\d{3})/g,’$1.’);
num = num.split(”).reverse().join(”).replace(/^[\.]/,”);
input.value = num;
}

else{ alert(‘Solo se permiten numeros’);
input.value = input.value.replace(/[^\d\.]*/g,”);
}
}

Y ponemos una caja de texto en un formulario con el sgte. codigo:

<form>
<input type=”text” onkeyup=”format(this)” onchange=”format(this)”>
</form>

La funcion que formatea, se llamara por cada caracter numerico que se escriba y asi facilitar la entrada de datos.

Finalmente, el codigo completo de la pagina:

<html>
<title>Formatear Numero</title>
<head>
<script type=”text/javascript”>
function format(input)
{
var num = input.value.replace(/\./g,”);
if(!isNaN(num)){
num = num.toString().split(”).reverse().join(”).replace(/(?=\d*\.?)(\d{3})/g,’$1.’);
num = num.split(”).reverse().join(”).replace(/^[\.]/,”);
input.value = num;
}

else{ alert(‘Solo se permiten numeros’);
input.value = input.value.replace(/[^\d\.]*/g,”);
}
}
</script>
</head>

<body>
<form>
<input type=”text” onkeyup=”format(this)” onchange=”format(this)”>
</form>

</body>
</html>

Bajen aqui el codigo completo del ejemplo.

AYUDA: copien y peguen el codigo final en un editor de texto como Notepad o Notepad++ para que no tengan problemas con las comillas (o cremillas)

About these ads