Les développeurs JavaScript rencontrent souvent le besoin de valider la saisie des valeurs numériques. IsNumeric() apparaît comme une fonction polyvalente pour relever ce défi.
IsNumeric() : un outil de validation complet
IsNumeric() est une fonction robuste conçue pour gérer un large gamme de types d'entrée, y compris des chaînes, des nombres et même des valeurs de diverses structures de données. Son objectif est de déterminer si l'entrée fournie représente une valeur numérique.
Pour garantir la clarté et la compatibilité multiplateforme, IsNumeric() exploite les fonctions intégrées de JavaScript.
Cas de test et résultats attendus
Pour démontrer son efficacité, considérez les cas de test suivants avec leurs attentes correspondantes résultats :
Test Case | Expected Outcome |
---|---|
'-1' | true |
'-1.5' | true |
'0' | true |
'0.42' | true |
'.42' | true |
'99,999' | false |
'0x89f' | false |
'#abcdef' | false |
'1.2.3' | false |
'' | false |
'blah' | false |
Implémentation
L'extrait suivant fournit une implémentation de la fonction IsNumeric() :
function isNumeric(n) { return !isNaN(parseFloat(n)) && isFinite(n); }
Considérations et améliorations
Cette implémentation englobe toutes les valeurs numériques, y compris Nombres hexadécimaux et exposants. Cependant, pour les applications nécessitant une validation décimale uniquement, des ajustements peuvent être apportés à la fonction isNumeric().
Implémentations alternatives
Au fil des années, diverses implémentations de IsNumeric( ) ont vu le jour. Voici quelques alternatives notables :
IsNumeric() de jQuery
jQuery.isNumeric = function(obj) { var realStringObj = obj && obj.toString(); return !jQuery.isArray(obj) && (realStringObj - parseFloat(realStringObj) + 1) >= 0; }
IsNumeric() d'Angular 4.3
export function isNumeric(value: any): boolean { return !isNaN(value - parseFloat(value)); }
Ces implémentations alternatives offrent différentes approches de validation numérique, mais toutes s'efforcent de fournir une solution robuste et efficace. solution.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!