Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola amigos ,
COmo eu faço para apos digitar o CPF e validar se é valido ou não ?
Obrigado
Amigão ,
este código do link eu coloco dentro da pagina do formulario do cadastro ?
vla
no evento onBlur do campo, você chama sua função para fazer a validação, pode ser uma função em javascript ou utilizando Expressão Regular , essa função também verifica se o CPF está digitado no formato correto .
<%
'-----------------------------------------------------
'Funcao: IsCPF(ByVal intNumero)
'Sinopse: Verifica se o valor passado é um CPF válido
' Formatos aceitos: XXX.XXX.XXX-XX ou
' XXXXXXXXXXXXXX
'Parametro: intNumero
'Retorno: Booleano
'-----------------------------------------------------
Function IsCPF(ByVal intNumero)
'Validando o formato do CPF com expressão regular
Set regEx = New RegExp 'Cria o Objeto Expressão
regEx.Pattern = "^(\d{3}\.\d{3}\.\d{3}-\d{2})|(\d{11})$" ' Expressão Regular
regEx.IgnoreCase = True ' Sensitivo ou não
regEx.Global = True
Retorno = RegEx.Test(intNumero)
Set regEx = Nothing
'Caso seja verdadeiro posso validar se o CPF é válido
If Retorno = True Then
'Validando a sequencia números
Dim CPF_temp
CPF_temp = intNumero
CPF_temp = Replace(CPF_temp, ".", "")
CPF_temp = Replace(CPF_temp, "-", "")
CPF_Digito_temp = Right(CPF_temp, 2)
'Somando os nove primeiros digitos do CPF
Soma = (Clng(Mid(CPF_temp,1,1)) 10) + (Clng(Mid(CPF_temp,2,1)) 9) + (Clng(Mid(CPF_temp,3,1)) 8) + (Clng(Mid(CPF_temp,4,1)) 7) + (Clng(Mid(CPF_temp,5,1)) 6) + (Clng(Mid(CPF_temp,6,1)) 5) + (Clng(Mid(CPF_temp,7,1)) 4) + (Clng(Mid(CPF_temp,8,1)) 3) + (Clng(Mid(CPF_temp,9,1)) * 2)
'----------------------------------
'Calculando o 1º dígito verificador
'----------------------------------
'Pegando o resto da divisão por 11
Resto = (Soma Mod 11)
If Resto = 1 Or Resto = 0 Then
DigitoHum = 0
Else
DigitoHum = Cstr(11-Resto)
End If
'----------------------------------
'----------------------------------
'Calculando o 2º dígito verificador
'----------------------------------
'Somando os 9 primeiros digitos do CPF mais o 1º dígito
Soma = (Clng(Mid(CPF_temp,1,1)) 11) + (Clng(Mid(CPF_temp,2,1)) 10) + (Clng(Mid(CPF_temp,3,1)) 9) + (Clng(Mid(CPF_temp,4,1)) 8) + (Clng(Mid(CPF_temp,5,1)) 7) + (Clng(Mid(CPF_temp,6,1)) 6) + (Clng(Mid(CPF_temp,7,1)) 5) + (Clng(Mid(CPF_temp,8,1)) 4) + (Clng(Mid(CPF_temp,9,1)) 3) + (DigitoHum 2)
'Pegando o resto da divisão por 11
Resto = (Soma Mod 11)
If Resto = 1 Or Resto = 0 Then
DigitoDois = 0
Else
DigitoDois = Cstr(11-Resto)
End If
'----------------------------------
'Verificando se os digitos são iguais aos digítados.
DigitoCPF = Cstr(DigitoHum) & Cstr(DigitoDois)
If Cstr(CPF_Digito_temp) = Cstr(DigitoCPF) Then
Retorno = True
Else
Retorno = False
End If
End If
IsCPF = Retorno
End Function
%>
Fiz assim :
<%
'-----------------------------------------------------
'Funcao: IsCPF(ByVal intNumero)
'Sinopse: Verifica se o valor passado é um CPF válido
' Formatos aceitos: XXX.XXX.XXX-XX ou
' XXXXXXXXXXXXXX
'Parametro: intNumero
'Retorno: Booleano
'-----------------------------------------------------
Function IsCPF(ByVal intNumero)
'Validando o formato do CPF com expressão regular
Set regEx = New RegExp 'Cria o Objeto Expressão
regEx.Pattern = "^(\d{3}\.\d{3}\.\d{3}-\d{2})|(\d{11})$" ' Expressão Regular
regEx.IgnoreCase = True ' Sensitivo ou não
regEx.Global = True
Retorno = RegEx.Test(intNumero)
Set regEx = Nothing
'Caso seja verdadeiro posso validar se o CPF é válido
If Retorno = True Then
'Validando a sequencia números
Dim CPF_temp
CPF_temp = intNumero
CPF_temp = Replace(CPF_temp, ".", "")
CPF_temp = Replace(CPF_temp, "-", "")
CPF_Digito_temp = Right(CPF_temp, 2)
'Somando os nove primeiros digitos do CPF
Soma = (Clng(Mid(CPF_temp,1,1)) 10) + (Clng(Mid(CPF_temp,2,1)) 9) + (Clng(Mid(CPF_temp,3,1)) 8) + (Clng(Mid(CPF_temp,4,1)) 7) + (Clng(Mid(CPF_temp,5,1)) 6) + (Clng(Mid(CPF_temp,6,1)) 5) + (Clng(Mid(CPF_temp,7,1)) 4) + (Clng(Mid(CPF_temp,8,1)) 3) + (Clng(Mid(CPF_temp,9,1)) * 2)
'----------------------------------
'Calculando o 1º dígito verificador
'----------------------------------
'Pegando o resto da divisão por 11
Resto = (Soma Mod 11)
If Resto = 1 Or Resto = 0 Then
DigitoHum = 0
Else
DigitoHum = Cstr(11-Resto)
End If
'----------------------------------
'----------------------------------
'Calculando o 2º dígito verificador
'----------------------------------
'Somando os 9 primeiros digitos do CPF mais o 1º dígito
Soma = (Clng(Mid(CPF_temp,1,1)) 11) + (Clng(Mid(CPF_temp,2,1)) 10) + (Clng(Mid(CPF_temp,3,1)) 9) + (Clng(Mid(CPF_temp,4,1)) 8) + (Clng(Mid(CPF_temp,5,1)) 7) + (Clng(Mid(CPF_temp,6,1)) 6) + (Clng(Mid(CPF_temp,7,1)) 5) + (Clng(Mid(CPF_temp,8,1)) 4) + (Clng(Mid(CPF_temp,9,1)) 3) + (DigitoHum 2)
'Pegando o resto da divisão por 11
Resto = (Soma Mod 11)
If Resto = 1 Or Resto = 0 Then
DigitoDois = 0
Else
DigitoDois = Cstr(11-Resto)
End If
'----------------------------------
'Verificando se os digitos são iguais aos digítados.
DigitoCPF = Cstr(DigitoHum) & Cstr(DigitoDois)
If Cstr(CPF_Digito_temp) = Cstr(DigitoCPF) Then
Retorno = True
Else
Retorno = False
End If
End If
IsCPF = Retorno
End Function
%></head>
<body>
</p>
<p><font face="Arial" style="font-size: 8pt" color="#1D2447">RG </font>
<span style="font-size: 8pt"> <font face="Arial" color="#1D2447">
<input name="CPF" type="text" id="CPF" style="border: 1px solid #015C5B" value="" onblur=" IsCPF()"><br>
<br>
Porém na ta verificando nada..rs..
Abraços
verifique se esta recebendo os dados para a função
desculpa a minha ignorancia mas como eu vejo se esta recebendo..rs
obrigado
dá um response.write no CPF_temp
Você esta colocando a verificação no onblur, mais isso é asp cara, o onblur seria útil se você tivesse utilizando um verificador de cpf em javascript.
<input name="CPF" type="text" id="CPF" style="border: 1px solid #015C5B" value="" onblur=" IsCPF()">
Como aquela função é em asp você deverá chama-la como asp.
<% call IsCPF("aqui o numero de cpf") %>
legal pela dica tb tava precisando disso .....
Caro LGBT,
Me desculpe pela desatenção , do exemplo que passou funcionou perfeitamente agora..ok
Obrigado !
Denada :thumbsup:
Como vira de um input, recuper com
request.form("nome_campo_cpf")
Depois utilize uma function que faça a verificação do numero e informe se é ou não válido.
http://blogasp.wordpress.com/2007/07/05/validar-cpf-com-expressao-regular/