"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment garantir une validation précise des entiers en JavaScript : quelle méthode est la meilleure ?

Comment garantir une validation précise des entiers en JavaScript : quelle méthode est la meilleure ?

Publié le 2024-11-15
Parcourir:362

How to Ensure Accurate Integer Validation in JavaScript: Which Method is Best?

Comment valider la saisie d'entiers en JavaScript

Que vous ayez besoin de vérifier des entiers pour garantir la cohérence des données ou d'inviter les utilisateurs avec des messages d'erreur précis, JavaScript propose plusieurs méthodes de validation entrées entières.

Une approche courante consiste à utiliser la fonction parseInt(). Cependant, cette méthode à elle seule peut ne pas suffire si vous souhaitez gérer des scénarios tels que des chaînes qui pourraient potentiellement être analysées comme des entiers.

Fonction de validation d'entiers robuste

La fonction suivante combine plusieurs vérifications pour garantir la robustesse validation entière :

function isInt(value) {
  return !isNaN(value) &&
         parseInt(Number(value)) == value &&
         !isNaN(parseInt(value, 10));
}

Cette fonction peut gérer à la fois les chaînes numériques et les nombres primitifs, garantissant une validation précise.

Opérateurs au niveau du bit pour des performances améliorées

Si les performances sont une priorité, vous pouvez utiliser des opérateurs au niveau du bit pour des vérifications entières efficaces :

function isInt(value) {
  var x = parseFloat(value);
  return !isNaN(value) && (x | 0) === x;
}

Cette méthode utilise l'opérateur OR au niveau du bit (|) pour forcer l'entrée à devenir un entier. Si le résultat correspond à la valeur d'origine, l'entrée est un entier.

Options de validation supplémentaires

Voici quelques approches supplémentaires pour la validation des entiers :

  • Court-circuit avec parseFloat() :
function isInt(value) {
  if (isNaN(value)) return false;
  var x = parseFloat(value);
  return (x | 0) === x;
}
  • NaN Coercition :
function isInt(value) {
  return !isNaN(value) && parseInt(value, 10) == value;
}
  • Vrai 0 Vérifier :
function isInt(value) {
  return !isNaN(value) && parseInt(value, 10) && (parseInt(value, 10) | 0) === parseInt(value, 10);
}

Le choix de la bonne méthode de validation dépend des exigences spécifiques et des considérations de performances de votre application.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3