Maison  >  Article  >  interface Web  >  Existe-t-il une alternative à isNumeric() de jQuery en JavaScript pur ?

Existe-t-il une alternative à isNumeric() de jQuery en JavaScript pur ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-19 16:57:30148parcourir

Is There an Alternative to jQuery's isNumeric() in Pure JavaScript?

Détermination de valeurs numériques en JavaScript pur : une alternative à isNumeric() de jQuery

La bibliothèque jQuery fournit une fonction pratique, isNumeric(), pour vérifier si une valeur représente un numéro. Cependant, pour les situations où jQuery n'est pas disponible, il est essentiel de savoir s'il existe des alternatives en JavaScript pur.

Le défi des tests de nombres

En JavaScript, déterminer le type d'une valeur n'est pas toujours simple. En utilisant l'opérateur typeof, on pourrait intuitivement supposer que vérifier si une valeur est un nombre peut être obtenu simplement en vérifiant si son typeof est « nombre ». Cependant, cette approche a des limites.

Créer votre propre fonction isNumeric()

Étant donné que JavaScript ne dispose pas d'une fonction isNumeric() intégrée, une implémentation personnalisée devient nécessaire.

Implémentation :

<code class="javascript">function isNumeric(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}</code>

Explication :

  • parseFloat() : tente de convertir l'entrée en un nombre à virgule flottante. En cas de succès, il renvoie une valeur numérique, sinon il renvoie NaN (Not a Number).
  • isNaN() : Vérifie si le résultat de parseFloat() est NaN, indiquant que l'entrée n'est pas numérique.
  • isFinite() : vérifie que l'entrée est un nombre fini (pas Infinity ou -Infinity).

Utilisation :

<code class="javascript">const value = 10;
console.log(isNumeric(value)); // true</code>

Remarque importante

Il convient de souligner que parseInt() ne doit pas être utilisé pour la validation numérique. parseInt() contraint les chaînes en entiers en fonction de leur base (généralement 10), ce qui peut donner des résultats incorrects pour les entrées non entières.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn