Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/04/2007, 06:55
MikiBroki
 
Fecha de Ingreso: abril-2002
Mensajes: 1.014
Antigüedad: 22 años, 1 mes
Puntos: 8
Re: porque no funciona esto en firefox?

hmm.. es cierto... no sé si me expresé bien, fíjate en estas dos particularidades:

# If the string begins with "0x", the radix is 16 (hexadecimal)
# If the string begins with "0", the radix is 8 (octal). This feature is deprecated

Y échale un vistacillo a esto porque parseInt() tiene premio dependiendo de cómo introduzca los números el usurio :

Código:
//alert( typeof(num)  + " : " + num  );

var num = parseInt( 010 );     	 -> number :   8							
var num = parseInt( "010" );    --> number :   8							
var num = parseInt( 010, 10 );     --> number :   8
var num = parseInt( "010", 10 );   --> number :   10	

var num = parseInt( 0900 );   --> number :  900
var num = parseInt( 0900, 10 );  --> number :  900					
var num = parseInt( "0900" );    --> number :    0	
var num = parseInt( "0900", 10 );    --> number :  900
	
var num = parseInt( 0X900 );          --> number : 2304
var num = parseInt( 0X900, 10 );    --> number : 2304
var num = parseInt( "0X900" );       --> number : 2304
var num = parseInt( "0X900", 10 ); --> number :       0
|

En ese caso para validar "bien" la entrada de un usuario sería la última opción de cada grupo (salvo que introduzca por ejemplo algo como "200 100"). Es recomendable comprobar que toda la cadena contenga sólo dígitos (y tener cuenta el signo menos y decimales, en su caso)