Introducción
En este laboratorio, exploraremos la implementación del Algoritmo de Luhn en JavaScript. El Algoritmo de Luhn se utiliza comúnmente para validar números de identificación como números de tarjeta de crédito, números IMEI y números de Identificador Nacional de Proveedor. A través de este laboratorio, aprenderá a dividir una cadena, invertir un array, usar los métodos map(), reduce() y shift() para implementar el Algoritmo de Luhn y, finalmente, determinar si un número de identificación dado es válido o no.
Verificación de Luhn
Para usar el Algoritmo de Luhn para la validación de números de identificación, como números de tarjeta de crédito, números IMEI, números de Identificador Nacional de Proveedor, siga estos pasos:
- Abra la Terminal/SSH y escriba
nodepara comenzar a practicar la codificación. - Utilice los siguientes métodos:
String.prototype.split(),Array.prototype.reverse(),Array.prototype.map()yparseInt()en combinación para obtener una matriz de dígitos. - Utilice
Array.prototype.shift()para obtener el último dígito. - Utilice
Array.prototype.reduce()para implementar el Algoritmo de Luhn. - Devuelva
truesisumes divisible por10,falseen caso contrario.
Aquí está el código:
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;
};
Puede probar la función de verificación de Luhn con estos ejemplos:
luhnCheck("4485275742308327"); // true
luhnCheck(6011329933655299); // true
luhnCheck(123456789); // false
Resumen
¡Felicitaciones! Has completado el laboratorio de Verificación de Luhn. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.