Cita:
Iniciado por Alexis88 Un valor es un número válido si no es un isNaN
Sin embargo, comprobar si cierto valor es un número únicamente mediante la función isNaN() es un error muy frecuente.
Quiero que veas lo que ocurre si dejas el campo vacío y presionas la tecla Enter... automáticamente ese string vacío se transforma en un 0, que claramente es un número válido:
La forma más adecuada de comprobarlo es utilizando el constructor
typeof, pero en este caso como lo que obtenemos del input es siempre texto, se requiere dicha conversión. Pero antes de ello debes pasarle un
trim() para quitar posibles espacios en blanco; tabulaciones, saltos de línea etc. ya que todos ellos equivalen a 0, incluyendo el string vacío por supuesto, pero éste debes excluirlo manualmente con un AND:
Código Javascript
:
Ver originalvalor = valor.trim();
if (!isNaN(valor) && valor != ""){
alert ("Es un número");
}else{
alert ("No es un número");
}
De esta forma consigues algo coherente.
Saludos.