Input HTML type="number" : un testeur en direct

Testeur d'input number HTML

Input HTML type=number : min, max, step, validation | We.Inc

Testez input type=number en direct : définissez min, max et step, lisez valueAsNumber et chaque indicateur de validité, supprimez les flèches, et découvrez quand inputmode=numeric est le meilleur choix.

Utilisez input type="number" pour de vraies quantités comme un âge, un prix ou un nombre d'articles. min et max définissent la plage autorisée, step définit l'incrément (1 par défaut, ou any pour des décimales libres), et valueAsNumber vous donne un nombre, ou NaN quand le champ est vide. Pour les numéros de carte et les codes postaux, utilisez plutôt type="text" avec inputmode="numeric".

Attributs d'un champ numérique

Les champs numériques semblent simples, mais les règles sur les pas, les valeurs vides et les flèches piègent beaucoup de monde. Définissez les attributs dans le testeur, tapez n'importe quoi dans le champ, et voyez la valeur brute, le nombre interprété et chaque indicateur de validité se mettre à jour pendant la saisie.

Questions fréquentes

Pourquoi mon input number refuse-t-il 1.5 ?

Le pas par défaut est 1, donc seuls les nombres entiers sont valides, sauf si la base du pas n'est pas un entier. Ajoutez step="0.5", step="0.01" ou step="any" pour accepter les décimales.

Que renvoie valueAsNumber pour un champ vide ?

NaN. Dans le même cas, la propriété value renvoie une chaîne vide. Vous pouvez aussi définir valueAsNumber pour écrire un nombre dans le champ.

Comment supprimer les flèches d'un input number ?

Appliquez appearance: textfield à l'input. Les touches fléchées haut et bas modifient toujours la valeur, car appearance ne change que l'apparence. WebKit et Blink dessinent aussi les boutons d'incrément via des pseudo-éléments, que l'exemple ci-dessous masque également.

Dois-je utiliser type=number ou inputmode=numeric ?

Utilisez type="number" quand la valeur est une vraie quantité et que les flèches d'incrément sont utiles. Utilisez type="text" avec inputmode="numeric" et un pattern pour les suites de chiffres comme les numéros de carte ou les codes postaux, qui sont des identifiants plutôt que des montants.

Un champ numérique vide est-il valide ?

Oui, sauf s'il a l'attribut required. Un input number est considéré comme valide quand il est vide ou contient un seul nombre valide.

Comment fonctionne la validation

Accessibilité et mobile

Quel champ pour quel nombre

type=number comparé à un champ texte numérique

Exemples de champs numériques

Champ de prix avec un pas décimal et un style d'erreur

Tapez 4.999 ou un nombre négatif et le contour devient rouge, car la valeur ne respecte pas le pas ou le minimum.

Masquer les boutons d'incrément

appearance: textfield supprime les flèches, les pseudo-éléments WebKit couvrent les navigateurs qui les dessinent encore. Les touches fléchées continuent de fonctionner.

Champ uniquement numérique sans flèches

inputmode suggère un clavier numérique, le pattern vérifie la présence de cinq chiffres, et les zéros initiaux sont conservés.

Lire le nombre en toute sécurité en JavaScript

valueAsNumber évite d'analyser une chaîne, et la vérification de validité détecte les valeurs hors plage ou hors pas.

Testeur d'input number

Champ de test

Ce que rapporte le navigateur

(chaîne vide)

Valide

Invalide

Message du navigateur

Copier le HTML

Commencer gratuitement · Sans carte bancaire

Voir aussi: Guides

Produit

Pour qui

Fonctionnalités

Ressources

Entreprise

Plan du site