Open mariohmol opened 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?
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.
Regex pros 44 generico:
(?<banco>\d{3})(?<moeda>\d{1})(?<verificador>\d{1})(?<vencimento>\d{4})(?<valor>\d{10})(?<mensagem>\d{25})
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: