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

Boleto #36

Open mariohmol opened 4 years ago

sirbaconjr commented 4 years ago

Validar boleto é um tanto complicado. Mas esse link explica tudo o que é necessário para entender.

https://tdn.totvs.com/pages/releaseview.action?pageId=421388789

Resumindo:

Montagem do campo código de barras base, posição 1 até a posição 19

Montagem do campo livre do código de barras, posição 20 até a posição 44:

mariohmol commented 4 years ago

muito top esse link!!!!

entao pra cada banco terá regra diferentes? vai da trampo ter todas a variacoes ne?

talvez fazer agora um genérico e depois criar issues pra implementar as especificidades dos bancos?

sirbaconjr commented 4 years ago

Creio que sim, faz um genérico que valida da posição 1 a 19. Aí não validamos o resto. Depois dá para abrir uma issue com a lista de todos os bancos que devem ser suportados e ir adicionado um por um. Sem pressa.

mariohmol commented 1 year ago

Regex pros 44 generico:

(?<banco>\d{3})(?<moeda>\d{1})(?<verificador>\d{1})(?<vencimento>\d{4})(?<valor>\d{10})(?<mensagem>\d{25})