Einführung
In diesem Lab werden wir die Implementierung des Luhn-Algorithmus in JavaScript erkunden. Der Luhn-Algorithmus wird allgemein verwendet, um Identifikationsnummern wie Kreditkartennummern, IMEI-Nummern und National Provider Identifier-Nummern zu validieren. Durch dieses Lab lernen Sie, wie man eine Zeichenkette aufteilt, ein Array umkehrt, die map(), reduce() und shift()-Methoden verwendet, um den Luhn-Algorithmus zu implementieren, und schließlich feststellt, ob eine gegebene Identifikationsnummer gültig ist oder nicht.
Luhn-Prüfung
Um den Luhn-Algorithmus zur Validierung von Identifikationsnummern wie Kreditkartennummern, IMEI-Nummern, National Provider Identifier-Nummern zu verwenden, folgen Sie diesen Schritten:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen. - Verwenden Sie die folgenden Methoden:
String.prototype.split(),Array.prototype.reverse(),Array.prototype.map()undparseInt()in Kombination, um ein Array von Ziffern zu erhalten. - Verwenden Sie
Array.prototype.shift(), um die letzte Ziffer zu erhalten. - Verwenden Sie
Array.prototype.reduce(), um den Luhn-Algorithmus zu implementieren. - Geben Sie
truezurück, wennsumdurch10teilbar ist, andernfallsfalse.
Hier ist der 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;
};
Sie können die Luhn-Prüfungsfunktion mit diesen Beispielen testen:
luhnCheck("4485275742308327"); // true
luhnCheck(6011329933655299); // true
luhnCheck(123456789); // false
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Luhn-Check-Lab abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.