Es solo para enteros?, o tambien puede haber valores del tipo
1.000,32
Para enteros esto te podría servir
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> //<![CDATA[
function valida_envia(){
//valido el numero
var num = document.getElementById('numero');
if (num.value.length==0){
alert("Tiene que escribir un valor")
num.focus()
return 0;
} else{
var n=num.value.replace(/\./g,"");
alert(n);
num.value = n;
}
}
function formatear(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{
input.value = input.value.replace(/[^\d\.]*/g,'');
}
}
//]]>
<form id="fvalida" action="#" onsubmit="valida_envia();"> <input type="text" onkeyup="formatear(this)" onchange="formatear(this)" name="numero" id="numero" /> <input type="submit" value="Enviar" />
saludos