OBS: O código não é meu, fiz algumas correçoes e adaptações, créditos para o autor que não sei quem é =(
<%
function ValidaCNPJ(cnpj)
Dim RecebeCNPJ, Numero(14), soma, resultado1, resultado2if cnpj > 14 then
cnpj = right(cnpj, 14)
end if
RecebeCNPJ = cnpj
s = ""for x = 1 to len(RecebeCNPJ)
ch = mid(RecebeCNPJ,x,1)
if asc(ch) >= 48 and asc(ch) <= 57 then
s = s & ch
end if
nextRecebeCNPJ = s
if len(RecebeCNPJ) <> 14 then
CnpjErro = false
elseif RecebeCNPJ = "00000000000000" then
CnpjErro = false
else
Numero(1) = Cint(Mid(RecebeCNPJ,1,1))
Numero(2) = Cint(Mid(RecebeCNPJ,2,1))
Numero(3) = Cint(Mid(RecebeCNPJ,3,1))
Numero(4) = Cint(Mid(RecebeCNPJ,4,1))
Numero(5) = Cint(Mid(RecebeCNPJ,5,1))
Numero(6) = CInt(Mid(RecebeCNPJ,6,1))
Numero(7) = Cint(Mid(RecebeCNPJ,7,1))
Numero(8) = Cint(Mid(RecebeCNPJ,8,1))
Numero(9) = Cint(Mid(RecebeCNPJ,9,1))
Numero(10) = Cint(Mid(RecebeCNPJ,10,1))
Numero(11) = Cint(Mid(RecebeCNPJ,11,1))
Numero(12) = Cint(Mid(RecebeCNPJ,12,1))
Numero(13) = Cint(Mid(RecebeCNPJ,13,1))
Numero(14) = Cint(Mid(RecebeCNPJ,14,1))
soma = Numero(1) * 5 + Numero(2) * 4 + Numero(3) * 3 + Numero(4) * 2 + Numero(5) * 9 + Numero(6) * 8 + Numero(7) * 7 + Numero(8) * 6 + Numero(9) * 5 + Numero(10) * 4 + Numero(11) * 3 + Numero(12) * 2
soma = soma -(11 * (int(soma / 11)))
if soma = 0 or soma = 1 then
resultado1 = 0
else
resultado1 = 11 - soma
end if
if resultado1 = Numero(13) then
soma = Numero(1) * 6 + Numero(2) * 5 + Numero(3) * 4 + Numero(4) * 3 + Numero(5) * 2 + Numero(6) * 9 + Numero(7) * 8 + Numero(8) * 7 + Numero(9) * 6 + Numero(10) * 5 + Numero(11) * 4 + Numero(12) * 3 + Numero(13) * 2
soma = soma - (11 * (int(soma/11)))
if soma = 0 or soma = 1 then
resultado2 = 0
else
resultado2 = 11 - soma
end if
if resultado2 = Numero(14) then
CnpjErro = true
else
CnpjErro = false
end if
else
CnpjErro = false
end if
end if
end if
ValidaCNPJ = CnpjErro
end function
%>
Para utilizar essa função faça o seguinte:
if ValidaCNPJ(request.form("campoCNPJ")) = true then
response.write("CNPJ Válido")
else
response.write("CNPJ inválido")
end if
abs
Nenhum comentário:
Postar um comentário