VALIDAR CPF!

USUARIO.EXCLUIDOS 11/12/2006 14:03:26
#189295
Olá pessoal tudo bem? Gostaria de saber se alguém tem um código para validar CPF mas que funcione realmente!

Um grande abraço a todos!
USUARIO.EXCLUIDOS 11/12/2006 14:07:52
#189297
Eu uso uma função que tem no site do Macoratti:
Validar CPF
Vê se te ajuda, dá uma olhada no projeto e adapte à s suas necessidades.
Valeu!
USUARIO.EXCLUIDOS 11/12/2006 14:17:05
#189301
As funções que uso foram desenvolvidas por mim:

 

[c]Public Function gfValidarCPF(pCPF As String) As Boolean
'*****
'* Validar CPF
'*****
Dim strCPF As String
Dim intSoma As Integer
Dim intResto As Integer
Dim intLoop As Integer

'Remover mascara de edição
strCPF = pCPF
strCPF = Replace(strCPF, ".", "")
strCPF = Replace(strCPF, "-", "")
strCPF = Right("00000000000" & strCPF, 11)

gfValidarCPF = False

If Val(strCPF) = 0 Then
Exit Function
End If

'Primeiro digito
intSoma = 0

For intLoop = 1 To 9
intSoma = intSoma + Val(Mid$(strCPF, intLoop, 1)) * (11 - intLoop)
Next intLoop

intResto = 11 - (intSoma - (Int(intSoma / 11) * 11))

If intResto = 10 Or intResto = 11 Then intResto = 0

If intResto <> Val(Mid$(strCPF, 10, 1)) Then
Exit Function
End If

'Segundo digito
intSoma = 0

For intLoop = 1 To 10
intSoma = intSoma + Val(Mid$(strCPF, intLoop, 1)) * (12 - intLoop)
Next intLoop

intResto = 11 - (intSoma - (Int(intSoma / 11) * 11))

If intResto = 10 Or intResto = 11 Then intResto = 0

If intResto <> Val(Mid$(strCPF, 11, 1)) Then
Exit Function
End If

gfValidarCPF = True

End Function



Public Function gfValidarCNPJ(ByVal pCNPJ As String) As Boolean
'*****
'* Validar CNPJ
'*****
Dim strCNPJ As String
Dim intLoop As Integer
Dim intSoma As Integer
Dim intPonteiro As Integer
Dim intD1 As Integer
Dim intD2 As Integer

'Remover Máscara de edição
strCNPJ = pCNPJ
strCNPJ = Replace(strCNPJ, ".", "")
strCNPJ = Replace(strCNPJ, "/", "")
strCNPJ = Replace(strCNPJ, "-", "")
strCNPJ = Right("00000000000000" & strCNPJ, 14)

gfValidarCNPJ = False

If Val(strCNPJ) = 0 Then
Exit Function
End If

'Primeiro Digito
intSoma = 0: intPonteiro = 5: intD1 = 0

For intLoop = 1 To 12
intSoma = intSoma + (Val(Mid(strCNPJ, intLoop, 1)) * intPonteiro)
intPonteiro = IIf(intPonteiro > 2, intPonteiro - 1, 9)

Next intLoop

intSoma = intSoma Mod 11
intD1 = IIf(intSoma > 1, 11 - intSoma, 0)

'Segundo Digito
intSoma = 0: intPonteiro = 6: intD2 = 0

For intLoop = 1 To 13
intSoma = intSoma + (Val(Mid(strCNPJ, intLoop, 1)) * intPonteiro)
intPonteiro = IIf(intPonteiro > 2, intPonteiro - 1, 9)
Next intLoop

intSoma = intSoma Mod 11
intD2 = IIf(intSoma > 1, 11 - intSoma, 0)

If (intD1 = Val(Mid(strCNPJ, 13, 1)) And intD2 = Val(Mid(strCNPJ, 14, 1))) Then
gfValidarCNPJ = True
End If

End Function



'Para chamar
If gfValidarCPF(SeuCPF) then....


[/c]


Tópico encerrado , respostas não são mais permitidas