mariohmol / js-brasil

Javascript Validate, Mask, Faker e Utils para Tipos do Brasil: Celular, CEP, Certidão, CNH, CNPJ, CNS, CPF, Currency, Date, ECT, EMAIL, Empresa, Endereço, Inscrição Estadual, Number, Percentage, Pessoa, PIS/PASEP, Placa de carro, Processo da justiça, RENAVAM , RG , Site, Telefone , Time (data/hora), Título de Eleitor , Veículo
http://geradorbrasileiro.com
MIT License
235 stars 37 forks source link

Credit Card Mask #12

Open mariohmol opened 5 years ago

sirbaconjr commented 4 years ago

Essas leituras devem ajudar a começar

https://gizmodo.uol.com.br/como-sao-criados-os-numeros-de-cartao-de-credito/ https://en.wikipedia.org/wiki/Payment_card_number#Issuer_identification_number_.28IIN.29 https://en.wikipedia.org/wiki/List_of_Issuer_Identification_Numbers

O que vocês é até bom, mas parece que é complicado de manter, pois precisaria ficar de olho em todas as mudanças.

Creio que seja melhor fazer o validador ignorando as bandeiras do cartão. Mas seria interessantese de alguma forma o validador pudesse retornar não só true ou false, mas tbm a bandeira.

mariohmol commented 4 years ago

pois é.. pensei numa mascara onde o cara poe tudo tipo:

9999.9999.9999.9999 01/21 123

seria: numero - mesano - cod verificacao

dai seria uma boa mesmo fazer algo q faça uma validacao basica de bandeira.. e criamos issues pra validar as variacoes.. ou achar algo na internet q podemos usar.. afinal cartao de credito é meio internacional ne

sirbaconjr commented 4 years ago

O padrão do cartão de crédito é internacional sim. Eu acho que a validação um tanto complexa já que depende de como o usuário está mostrando os dados

Será que não é melhor validar como se fosse um objeto?

let creditCard = {
    number: 0000000000000000,
    validUntil: "00/00",
    securityCode: 123
}

O que acha?

mariohmol commented 4 years ago

pode tb... mas seria interesante ter um campo com essa mascara..

uma coisa q tenho feito.. como é brasil.. e muitos codigos de exemplo na web tao em portugue.. tenho colocado as variaveis em portugues.. tipo

let cartao = {
    numero: 0000000000000000,
    validade: "00/00",
    codigo: 123
}
mariohmol commented 4 years ago

saca esse https://github.com/mariohmol/js-brasil/blob/master/src/inscricaoestadual.ts

sirbaconjr commented 4 years ago

A máscara na minha opinião tinha que ser mais de um campo, colocar tudo no mesmo campo pode gerar problemas Já que muito provavelmente as informações serão guardadas separadas

mariohmol commented 4 years ago

pois é.. por isso a ideia de ter as duas formas.. um valdador q recebe o objeto.. uma mascara com todos os dados.. outra mascara so pro numero.. ano e digito.. e assim vai...

eu por exemplo vou guardar tudo junto