Hola Fido85:
 
<html> 
<head> 
  <script language="JavaScript"> 
   function currencyFormat(fld, milSep, decSep, e) { 
    var sep = 0; 
    var key = ''; 
    var i = j = 0; 
    var len = len2 = 0; 
    var strCheck = '0123456789'; 
    var aux = aux2 = ''; 
    var whichCode = (window.Event) ? e.which : e.keyCode; 
    if (whichCode == 13) return true; // Enter 
    key = String.fromCharCode(whichCode); // Get key value from key code 
    if (strCheck.indexOf(key) == -1) return false; // Not a valid key 
    len = fld.value.length; 
    for(i = 0; i < len; i++) 
     if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break; 
    aux = ''; 
    for(; i < len; i++) 
     if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i); 
    aux += key; 
    len = aux.length; 
    if (len == 0) fld.value = ''; 
    if (len == 1) fld.value = '0'+ decSep + '0' + aux; 
    if (len == 2) fld.value = '0'+ decSep + aux; 
    if (len > 2) { 
     aux2 = ''; 
     for (j = 0, i = len - 3; i >= 0; i--) { 
      if (j == 3) { 
       aux2 += milSep; 
       j = 0; 
      } 
      aux2 += aux.charAt(i); 
      j++; 
     } 
     fld.value = ''; 
     len2 = aux2.length; 
     for (i = len2 - 1; i >= 0; i--) 
      fld.value += aux2.charAt(i); 
     fld.value += decSep + aux.substr(len - 2, len); 
    } 
    return false; 
   } 
  </script> 
</head> 
<body> 
  <form> 
   Tipee un número: 
   <input type="text" name="test" length="15" onKeyPress="return(currencyFormat(this,',','.',eve  nt))"> 
  </form> 
</body> 
</html>  
Esta es otra forma pero es para usar un formato de miles y eso, yo te recomendaria que usaras tambien el SUBSTR(X,n,m), donde le diras al dato que iniciara de n, y que solo te mostrara los m numeros despues de tu inicio, esto es: 
substr('MALENA',0,4)   ==   'MALE' 
asi si se pasa de tres números puedes indicarle que utiliza una dirección erronea. 
Bueno esa es la idea y espero que te sirva. 
gigifc   
