Introduction
Dans ce laboratoire, nous allons explorer la mise en œuvre de l'algorithme de Luhn en JavaScript. L'algorithme de Luhn est couramment utilisé pour valider des numéros d'identification tels que les numéros de carte de crédit, les numéros IMEI et les numéros d'identifiant de fournisseur national. Grâce à ce laboratoire, vous apprendrez à diviser une chaîne de caractères, à inverser un tableau, à utiliser les méthodes map(), reduce() et shift() pour implémenter l'algorithme de Luhn et finalement déterminer si un numéro d'identification donné est valide ou non.
Vérification de Luhn
Pour utiliser l'algorithme de Luhn pour la validation de numéros d'identification, tels que les numéros de carte de crédit, les numéros IMEI, les numéros d'identifiant de fournisseur national, suivez ces étapes :
- Ouvrez le Terminal/SSH et tapez
nodepour commencer à pratiquer la programmation. - Utilisez les méthodes suivantes :
String.prototype.split(),Array.prototype.reverse(),Array.prototype.map()etparseInt()en combinaison pour obtenir un tableau de chiffres. - Utilisez
Array.prototype.shift()pour obtenir le dernier chiffre. - Utilisez
Array.prototype.reduce()pour implémenter l'algorithme de Luhn. - Retournez
truesisumest divisible par10,falsesinon.
Voici le code :
const luhnCheck = (num) => {
const arr = (num + "")
.split("")
.reverse()
.map((x) => parseInt(x));
const lastDigit = arr.shift();
let sum = arr.reduce(
(acc, val, i) =>
i % 2 !== 0 ? acc + val : acc + ((val *= 2) > 9 ? val - 9 : val),
0
);
sum += lastDigit;
return sum % 10 === 0;
};
Vous pouvez tester la fonction de vérification de Luhn à l'aide de ces exemples :
luhnCheck("4485275742308327"); // true
luhnCheck(6011329933655299); // true
luhnCheck(123456789); // false
Sommaire
Félicitations ! Vous avez terminé le laboratoire de vérification de Luhn. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.