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.
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.
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.
Voici quelques approches supplémentaires pour la validation des entiers :
function isInt(value) { if (isNaN(value)) return false; var x = parseFloat(value); return (x | 0) === x; }
function isInt(value) { return !isNaN(value) && parseInt(value, 10) == value; }
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.
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