Validação de CNPJ com Ruby
Rotina para validar um CNPJ usando Ruby.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
def check_cnpj(cnpj=nil) return false if cnpj.nil? winvalidos = %w{11111111111111 22222222222222 33333333333333 44444444444444 55555555555555 66666666666666 77777777777777 88888888888888 99999999999999 00000000000000} wvalor = cnpj.scan /[0-9]/ if wvalor.length == 14 unless winvalidos.member?(wvalor.join) wvalor = wvalor.collect{|x| x.to_i} wsoma = wvalor[0]*5+wvalor[1]*4+wvalor[2]*3+wvalor[3]*2+wvalor[4]*9+wvalor[5]*8+wvalor[6]*7+wvalor[7]*6+wvalor[8]*5+wvalor[9]*4+wvalor[10]*3+wvalor[11]*2 wsoma = wsoma - (11*(wsoma/11)) wresult1 = (wsoma==0 || wsoma==1) ? 0 : 11 - wsoma if wresult1 == wvalor[12] wsoma = wvalor[0]*6+wvalor[1]*5+wvalor[2]*4+wvalor[3]*3+wvalor[4]*2+wvalor[5]*9+wvalor[6]*8+wvalor[7]*7+wvalor[8]*6+wvalor[9]*5+wvalor[10]*4+wvalor[11]*3+wvalor[12]*2 wsoma = wsoma - (11*(wsoma/11)) wresult2 = (wsoma == 0 || wsoma == 1) ? 0 : 11 - wsoma return true if wresult2 == wvalor[13] # CNPJ validado end end end return false # CNPJ invalidado end |
Carregando...
Você pode se interessar

Notícias
7 visualizações
Notícias
7 visualizações
Como se tornar um Engenheiro DevOps em 2021
Carlos L. A. da Silva - 1 de março de 2021A consultora de DevOps e evangelista Nana Janashia apresenta um passo a passo de tudo que você precisa saber para dominar o DevOps em 2021.

Notícias
10 visualizações
Notícias
10 visualizações
Quanto ganha um programador? Confira uma das maiores pesquisas salariais realizadas no Brasil
Redação - 23 de fevereiro de 2021O Canal Código Fonte TV realizou uma pesquisa salarial com mais de 11 mil programadores brasileiros. Entre os dados coletados é possível analisar a média salarial por: tecnologia, idade, gênero, região, entre muitos outros insights.

Artigos
13 visualizações
Artigos
13 visualizações
Seus dados vazaram. E agora?
Carlos L. A. da Silva - 19 de fevereiro de 2021Seus dados pessoais foram vazados e essa é uma verdade praticamente inevitável. A meta agora é minimizar os possíveis danos e cobrar autoridades.
Mais publicações

Artigos
19 visualizações
19 visualizações

Dicas
26 visualizações
26 visualizações

Artigos
32 visualizações
32 visualizações

Dicas
34 visualizações
34 visualizações
Deixe um Comentário