Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fabio Avila

[Resolvido] Validar CPF ao sair do campo

Recommended Posts

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
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se esta recebendo os dados para a função

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write no CPF_temp

Compartilhar este post


Link para o post
Compartilhar em outros sites

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") %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro LGBT,

 

Me desculpe pela desatenção , do exemplo que passou funcionou perfeitamente agora..ok

 

Obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.