npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

card-validator-proyect-gdl

v1.0.0

Published

* **Integrantes de equipo** _Lizbeth Pérez. Karla Martínez_ * **Curso:** _JS DEEP DIVE: CREA TU PROPIA LIBRERÍA USANDO JAVASCRIPT_ * **Unidad:** _Producto final_

Downloads

3

Readme

Valida datos de tarjetas de crédito.

Instrucciones para uso de la librería.

To use this library install the next command in the terminal:

  • npm install card-validator-proyect-gdl

Para utilizar esta librería es necesario instalar el siguiente comando en la terminal:

  • npm install card-validator-proyect-gdl

Node.

Use the following command in node:

  • node dist/principal.js

Utiliza el siguiente comando en node:

  • node dist/principal.js

Browser // Navegador.

Make sure to include it in your HTML:

  • <script src="dist/dataClients.js"></script>
  • <script src="dist/validate.js"></script>
  • <script src="dist/compareData.js"></script>
  • <script src="dist/principal.js"></script>

Asegurate de incluir en tu HTML:

  • <script src="dist/dataClients.js"></script>
  • <script src="dist/validate.js"></script>
  • <script src="dist/compareData.js"></script>
  • <script src="dist/principal.js"></script>

For testing:

Use the following command in the terminal:

  • npm run test ó
  • mocha test

Para ejecutar el test:

Utiliza en terminal el siguiente comando:

  • npm run test ó
  • mocha test

Información acerca del equipo.

  • Integrantes de equipo Lizbeth Pérez. Karla Martínez
  • Curso: JS DEEP DIVE: CREA TU PROPIA LIBRERÍA USANDO JAVASCRIPT
  • Unidad: Producto final

¿Cómo funciona?

Nuestro producto final debe validar:

  • El nombre del usuario.
  • Que el número de la tarjeta tenga solo 16 dígitos, no acepte letras y no acepte espacios ni caracteres especiales.
  • Una vez corroborado lo anterior, se verifica a través del algoritmo de Luhn que el número de tarjeta ingresado sea válido.
  • La fecha de expiración de la tarjeta de crédito en donde en la primer casilla de verificación solo acepte 2 dígitos del "01" al "12" y en la segunda casilla que no acepte letras, cáracteres especiales ni espacios.
  • Que el código de verificación acepte solo tres dígitos, y que no acepte letras, cáracteres especiales ni espacios.
  • Si todas las validaciones son correctas aparecerá en el navegador el mensaje "Tarjeta válida" y se podrá hacer click en pagar.

Instrucciones para Usuario.

El usuario debera ingresar:

  • Nombre de titular de tarjeta
  • Número de tarjeta Que contenga sólo 16 dígitos
  • Fecha de vencimiento Mes y año
  • Código de seguridad De tres dígitos
  • Click en botón "pagar" Para realizar la transacción

Introducción.

Casi todos alguna vez hemos utilizado alguna tarjeta de crédito para realizar una compra.

compra-tarjeta

Como sabes, estas tarjetas cuentan con ciertas numeraciones tales como el nombre del titular de la tarjeta (persona autorizada para dar uso de ella), la numeración principal que cuenta con 16 dígitos, la fecha de expiración contando con el mes y el año y un código de seguridad. En este reto crearemos un “validador de tarjetas de crédito” que ayudara a las empresas en linea a aceptar el pago de sus productos o servicios a través de este sistema.

Investigación.

¿Cuál es el método de validación de una Tarjeta de Crédito?

validator

La mayoría de las tarjetas de crédito se validan mediante el algoritmo de Luhn.

Algoritmo de Luhn.

El algoritmo de Luhn o fórmula de Luhn, también conocida como "algoritmo de módulo 10", es una fórmula de suma de verificación, utilizada para validar una diversidad de números de identificación; como números de tarjetas de crédito, números IMEI, etc. Este algoritmo fue creado por el científico de IBM llamado Hans Peter Luhn y descrito en la patente U.S. Patent No. 2,950,048, solicitada el 6 de enero de 1954, y concedida el 23 de agosto de 1960.

Este algoritmo es de dominio público y es ampliamente usado en la actualidad. Su especificación está contenida en la norma ISO/IEC 7812-1.1​ Su propósito no es de ser una función hash criptográfica segura contra ataques maliciosos, sino que fue diseñada para protección contra errores accidentales. La gran mayoría de tarjetas de crédito y otros números de identificación usan este algoritmo como un método simple de distinguir números válidos a partir de una entrada de números al azar.

Como funciona el Algoritmo de Luhn. (Explicación informal).

La fórmula verifica un número contra su dígito de chequeo incluido, el cual el usualmente agregado a un número de cuenta parcial para generar el número de cuenta completo. Este número de cuenta debe pasar la siguiente prueba:

  1. A partir del dígito de chequeo incluido, el cual está a la derecha de todo el número, ir de derecha a izquierda duplicando cada segundo dígito.
  2. Sumar los dígitos del resultado: (ejemplo: 10 = 1 + 0 = 1, 14 = 1 + 4 = 5) juntos con los dígitos sin duplicar del número original.
  3. Si el total de módulo 10 es igual a 0 (si el total termina en cero), entonces el número es válido de acuerdo con la fórmula Luhn, de lo contrario no es válido. Supongamos un ejemplo de un número de cuenta "7992739871", que contará con un dígito de control adicional, por lo que es de la forma 7992739871x:

algoritmo-luhn

El dígito de chequeo (x) se obtiene entonces de (67 * 9 mod 10). En términos sencillos:

Calcular la suma de los dígitos (67). Multiplicar por 9 (603). Tomar el último dígito (3). El resultado es el dígito de chequeo. (Método alternativo) El dígito de chequeo (x) se obtiene de (67 => dígito de las unidades: 7; 10 - 7 = dígito de chequeo: 3). En términos sencillo:

Calcular la suma de los dígitos (67). Tomar el dígito de las unidades 7. Restar el dígito de las unidades del módulo 10. El resultado es 3. El resultado es el dígito de chequeo. Entonces, el número de cuenta completo es 79927398713.

¿Qué procede?

Una vez comprobado el dígito de validación por medio del algoritmo y definida como una Tarjeta de Crédito Valida, se procede a separar los componentes del número de tarjeta de la siguiente manera:

Los primeros seis dígitos de la tarjeta corresponden al Bin bancario. (estos son definidos por instituciones las cuales llevan un control de los Bines bancarios) ya que el número  correspondiente al BIN también se separa y define varios aspectos, normalmente si el BIN empieza con 4 es una tarjeta tipo VISA, 5 es Mastercard, 6 es de tipo Discovery y así sucesivamente, los siguientes 5 dígitos del BIN determinan la entidad bancaria y país de origen.

Los siguientes dígitos -1, es decir todos los dígitos que siguen al BIN, menos el ultimo dígito, se conoce como numero de cuenta del usuario y esta relacionado directamente con el nombre del tarjeta-habiente, este número es emitido por la institución bancaria que emitió la tarjeta de crédito.

El ultimo dígito, se conoce como dígito de control o dígito de validación, es un número que es sacado mediante el algoritmo antes mencionado, cuya función es detectar errores de captura de datos, ya que si se captura un solo numero erróneo, el algoritmo arrojara un error y se detectara como tarjeta invalida.

no-valid-card

Una tarjeta de crédito, está conformada por los siguientes componentes a parte del Número de Tarjeta: Nombre de la entidad Emisora, Red Nacional, Red Internacional, Chip de Seguridad, Fecha de Caducidad, Nombre del Titular, Firma del titular, CódigoCVV2 o CVC2 o CID y Banda Magnética.

credit-card

DEMO:

demo