Valida datos de tarjetas de crédito

Card es un librería basada en el algoritmo de Luhn, en base a JavaScript, actualmente el mejor lenguaje para desarrollo Web. Este te ayudará a saber si una tarjeta de crédito es válida o invalida. Los datos a validar son 4: Fecha de vencimiento (año y mes), código de verificación (cvv), nombre completo que aparece en la tarjeta y el número de tarjeta, este ultimo asociado al algoritmo de Luhn.


Tus primeros pasos

Consideraciones
Válido para tarjeta con 16 dígitos.
Validación en base al algoritmo de Luhn.
Creado en ES6 y ES5, funciona con cualquier navegador.
Puedes utilizarlo junto a otra libreria o plugin creado en vanilla o Jquery sin problema alguno.
Datos para probarlo en el simulador

N° 4373471036301103
Nombre: Maria
CVV: 123
Fecha de expiración: 06/20

N° 4851519931403589
Nombre: Juan
CVV: 456
Fecha de expiración: 06/22

Requisitos
Tener 4 inputs en un archivo html.
En cada input colocar el atributo required y maxlength="x" donde x es la longitud máxima a ingresar. Esto te ayudará con las restricciones en tu validación. No te olvides que también debes agregar un id="".
.
Ejemplo
<input type="text" maxlength="2" id="" required>
Instalación
Descargar el archivo index.js, en la parte superior dereha encontrarás la versión ES5, si deseas la versión en ES6 debes descargarlo en nuestro repositorio de Github
Copiar el archivo index.js en la carpeta donde tienes los archivos con exrtensión .js y añadelo a tu archivo con extensión .html como un script.
Ejemplo
<html>
<body>
<script src="index.js"></script>
</body>
</html>
Uso
En tu archivo .js debes llamar al método que desees utilizar para iniciar tu validacion. Existe la validación por número de tarjeta, fecha (año y mes), nombre y CVV (código de verificación).
Estos métodos reciben un paramétro, donde debes ingresar el valor devuelto por tu input como argumento.
El resultado será un valor booleano ( true o false).
card.validNumber(''); Devuelve true si lo ingresado es número.
card.validText(''); Devuelve true si lo ingresado es texto (no admite tíldes).
card.validMonth(''); Devuelve true si el número ingresado es mayor al mes actual.
card.validYear(''); Devuelve true si el número ingresado es mayor al año actual.
card.validCard(''); Devuelve true si número de tarjeta ingresado es correcta según el algoritmo de Luhn.
Tener en cuenta
Como verás, no tenemos un validador de CVV, esto es porque con el atributo maxlength podrás restringir a 3 digitos y con el método card.validNumber('') saber si es solo número.
Para que puedas validar correctamente, necesitas anexar la libreria con una data, puedes crearla o usar un API, te dejamos un ejemplo de la data que usamos para este demo(simulador).
const persona = [
{ number: '4373471036301103', name: 'Maria', cvv: '123', yy: '20', mm: '06' },
{ number: '4851519931403589', name: 'Juan', cvv: '456', yy: '22', mm: '06' }
];