Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/06/2003, 02:55
Avatar de angel_dope
angel_dope
 
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 23 años, 10 meses
Puntos: 8
Pues no me ha funcionado eso, pero weno, ya está resuelto, me han ayudado dos compañeros (gracias Ruben y Oscar) y ya funciona, pongo el código por si a alguien le viene bien:

Código PHP:
<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) != 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 = aux;
    if (
len == 2){
        if (
aux>31)
        
window.alert("El dia debe ser inferior a 31");//CAPULLO
        
else
        
fld.value = aux;
    }
    if (
len > 2 && len < 5) {
     if (
len == 4){
        if (
aux.substr(len - 2, len)>12)
        
window.alert("El mes debe ser inferior a 12");//RECAPULLO, ES Q NO SABES DE FECHAS??
        
else
        
fld.value = aux;
    }
     
aux2 = '';
     for (
j = 0, i = len - 3; i >= 0; i--) {
      if (
j == 2) {
       
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);
    }
    if (
len > 4 && len < 9) {
     
aux2 = '';
     for (
j = 0, i = len - 3; i >= 0; i--) {
      if (
j == 2 && i <= len -5) {
       
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 += aux.substr(len - 2, len);
    }
    return 
false;
   }
  
</script>
 </head>
 <body>
  <form>
  Introduzca un número: 
  <input type="text" name="test" length="15" onKeyPress="return(currencyFormat(this,'/','/',event))">
  </form>
 </body>
</html> 
Lo único que faltaria sería controlar si se pone más de 28 en febrero, o más de 29 si es bisiesto, pero weno, tampoco vamos a pasarnos
Gracias a todos por vuestro tiempo
__________________
Vayamos por Partes :: Jack el Destripador