Implémenter l'algorithme de Luhn en JavaScript

JavaScriptJavaScriptBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/str_manip("String Manipulation") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28477{{"Implémenter l'algorithme de Luhn en JavaScript"}} javascript/data_types -.-> lab-28477{{"Implémenter l'algorithme de Luhn en JavaScript"}} javascript/arith_ops -.-> lab-28477{{"Implémenter l'algorithme de Luhn en JavaScript"}} javascript/comp_ops -.-> lab-28477{{"Implémenter l'algorithme de Luhn en JavaScript"}} javascript/str_manip -.-> lab-28477{{"Implémenter l'algorithme de Luhn en JavaScript"}} javascript/higher_funcs -.-> lab-28477{{"Implémenter l'algorithme de Luhn en JavaScript"}} end

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 :

  1. Ouvrez le Terminal/SSH et tapez node pour commencer à pratiquer la programmation.
  2. Utilisez les méthodes suivantes : String.prototype.split(), Array.prototype.reverse(), Array.prototype.map() et parseInt() en combinaison pour obtenir un tableau de chiffres.
  3. Utilisez Array.prototype.shift() pour obtenir le dernier chiffre.
  4. Utilisez Array.prototype.reduce() pour implémenter l'algorithme de Luhn.
  5. Retournez true si sum est divisible par 10, false sinon.

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.