HTML input type="number": probador en directo

Probador de HTML input number

HTML input type=number: min, max, step y validación | We.Inc

Prueba input type=number en directo: define min, max y step, lee valueAsNumber y cada indicador de validez, quita las flechas y descubre cuándo inputmode=numeric es mejor campo.

Usa input type="number" para cantidades reales como una edad, un precio o un recuento. min y max fijan el rango permitido, step fija el incremento (1 por defecto, o any para decimales libres), y valueAsNumber te da un número, o NaN cuando el campo está vacío. Para números de tarjeta y códigos postales usa type="text" con inputmode="numeric".

Atributos de un campo numérico

Los campos numéricos parecen sencillos, pero las reglas sobre pasos, valores vacíos y las flechas confunden a mucha gente. Define los atributos en el probador, escribe lo que quieras en el campo y mira cómo se actualizan el valor en bruto, el número interpretado y cada indicador de validez mientras escribes.

Preguntas frecuentes

¿Por qué mi input numérico rechaza 1.5?

El paso por defecto es 1, así que solo son válidos los números enteros salvo que la base del paso no sea un entero. Añade step="0.5", step="0.01" o step="any" para aceptar decimales.

¿Qué devuelve valueAsNumber con un campo vacío?

NaN. La propiedad value devuelve una cadena vacía en el mismo caso. También puedes asignar valueAsNumber para escribir un número de vuelta en el campo.

¿Cómo quito las flechas de un input numérico?

Pon appearance: textfield en el input. Las teclas de flecha arriba y abajo siguen cambiando el valor, porque appearance solo cambia el aspecto. WebKit y Blink también dibujan los botones de incremento mediante pseudoelementos, que el ejemplo de abajo oculta igualmente.

¿Uso type=number o inputmode=numeric?

Usa type="number" cuando el valor es una cantidad real y las flechas ayudan. Usa type="text" con inputmode="numeric" y un pattern para cadenas de dígitos como números de tarjeta o códigos postales, que son identificadores y no importes.

¿Un campo numérico vacío es válido?

Sí, salvo que tenga el atributo required. Un input numérico se considera válido cuando está vacío o contiene un único número válido.

Cómo funciona la validación

Accesibilidad y móvil

Qué campo para cada número

type=number comparado con un campo de texto numérico

Ejemplos de campos numéricos

Campo de precio con paso decimal y estilo de error

Escribe 4.999 o un número negativo y el contorno se pone rojo, porque el valor incumple el paso o el mínimo.

Ocultar los botones de incremento

appearance: textfield quita las flechas; los pseudoelementos de WebKit cubren los navegadores que aún las dibujan. Las teclas de flecha siguen funcionando.

Campo solo de dígitos sin flechas

inputmode sugiere un teclado numérico, el pattern comprueba que haya cinco dígitos y los ceros a la izquierda se conservan.

Leer el número de forma segura en JavaScript

valueAsNumber evita interpretar cadenas, y la comprobación de validity detecta valores fuera de rango o fuera del paso.

Probador de input numérico

Campo de prueba

Lo que informa el navegador

(cadena vacía)

Válido

No válido

Mensaje del navegador

Copiar HTML

Empieza gratis · Sin tarjeta de crédito

Relacionado: Guías

Producto

Para quién es

Funciones

Recursos

Empresa

Mapa del sitio