Código de JavaScript - Determinar el tipo de tarjeta bancaria

Imágen de perfil
Val: 2.288
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Determinar el tipo de tarjeta bancariagráfica de visualizaciones


JavaScript

Publicado el 23 de Diciembre del 2019 por Katas (200 códigos)
2.938 visualizaciones desde el 23 de Diciembre del 2019
Dado un número de tarjeta de crédito, podemos determinar quién es el emisor/vendedor con algunos conocimientos básicos.
Complete la función getIssuer () que utilizará los valores que se muestran a continuación para determinar el emisor de la tarjeta para un número de tarjeta determinado. Si el número no puede coincidir, la función debería devolver la cadena Desconocido.
1
2
3
4
5
6
| Card Type  | Begins With          | Number Length |
|------------|----------------------|---------------|
| AMEX       | 34 or 37             | 15            |
| Discover   | 6011                 | 16            |
| Mastercard | 51, 52, 53, 54 or 55 | 16            |
| VISA       | 4                    | 13 or 16      |

1
2
3
4
5
6
7
8
getIssuer(4111111111111111); // == "VISA"
getIssuer(4111111111111); // == "VISA"
getIssuer(4012888888881881); // == "VISA"
getIssuer(378282246310005); // == "AMEX"
getIssuer(6011111111111117); // == "Discover"
getIssuer(5105105105105100); // == "Mastercard"
getIssuer(5105105105105106); // == "Mastercard"
getIssuer(9111111111111111); // == "Unknown"

Con expresión regular

Publicado el 23 de Diciembre del 2019gráfica de visualizaciones de la versión: Con expresión regular
217 visualizaciones desde el 23 de Diciembre del 2019

Sin expresión regular
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 23 de Diciembre del 2019gráfica de visualizaciones de la versión: Sin expresión regular
2.722 visualizaciones desde el 23 de Diciembre del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function getIssuer(number) {
    const cards=[
        {"name":"AMEX",       "begins":[34, 37],             "length":[15]},
        {"name":"Discover",   "begins":[6011],               "length":[16]},
        {"name":"Mastercard", "begins":[51, 52, 53, 54, 55], "length":[16]},
        {"name":"VISA",       "begins":[4],                  "length":[13, 16]},
    ];
 
    const begin = (arr, number) => arr.some(el => number.startsWith(el));
    const length = (arr, number) => arr.some(el => el==number.length);
 
    for (el of cards) {
        if (begin(el.begins, number.toString()) && length(el.length, number.toString())) {
            return el.name;
        }
    }
    return "Unknown";
}



Comentarios sobre la versión: Sin expresión regular (1)

Imágen de perfil
24 de Diciembre del 2019
estrellaestrellaestrellaestrellaestrella
Muy interesante la función some()!!!
Responder

Comentar la versión: Sin expresión regular

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5754