Comment vérifier si une chaîne en JavaScript est un nombre valide ?
Bonjour à tous ! Je suis débutant en JavaScript et j'écris une petite application de calculatrice. L'utilisateur saisit des valeurs dans des champs de texte, et je dois m'assurer que les données saisies sont des nombres avant d'effectuer des opérations mathématiques.
Le problème est que je ne trouve pas de méthode fiable pour vérifier. J'ai utilisé `typeof` — mais il renvoie "string" pour tout ce qui vient d'un input. J'ai essayé `isNaN()` — mais il se comporte étrangement : `isNaN("123")` renvoie `false` (bien), mais `isNaN("12.3abc")` renvoie aussi `false`, alors que ce n'est clairement pas un nombre ! Et `isNaN("")` renvoie `false`, une chaîne vide est considérée comme un nombre — c'est incompréhensible.
J'ai aussi essayé `Number(" ")` — il renvoie 0, ce qui est aussi déroutant. J'ai entendu parler de `parseFloat` et `parseInt`, mais ils tronquent la chaîne et renvoient un nombre si la chaîne commence par des chiffres, par exemple `parseFloat("123abc")` renvoie 123 — ce n'est pas ce dont j'ai besoin non plus. J'ai besoin d'une correspondance stricte : toute la chaîne doit être un nombre, sans caractères supplémentaires.
Voici
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
Mise en cache en Kotlin : Redis, Memcached et solutions intégrées
Une journée dans la vie d'un développeur C# : code, café et magie .NET
Problèmes Java sur LeetCode : du débutant à l'entretien
Obtenir le nom de classe d'un objet en Swift : performances et bonnes pratiques