VALIDAR CPF!
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!
Um grande abraço a todos!
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!
Validar CPF
Vê se te ajuda, dá uma olhada no projeto e adapte à  s suas necessidades.
Valeu!
As funções que uso foram desenvolvidas por mim:
'Para chamar
If gfValidarCPF(SeuCPF) then....
[/c]
[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