Ir para conteúdo
Fórum Script Brasil
  • 0

validação de cpf barrar inserção de usuário


Guest franciscobiscaino

Pergunta

Guest franciscobiscaino

como faço p/ o script validação de cpf barrar inserção de usuário

o script é o seguinte

na pg de post é o seguinte

dizendo que o cpf é requerido

If Len(Trim(sCPF)) = 0 AND gbReqCPF Then

sString = sString & ErrorString(GLS_CPF)

End If

Function ErrorString(sField)

ErrorString = replace(GLS_FieldErr,"%FIELDNAME%","<B>" & UCASE(sField) & "</B>") & "<BR>"

End Function

agora na pg que contentem todas as funções é o código de validação

function CalculaCPF()

Dim RecebeCPF, Numero(11), soma, resultado1, resultado2

RecebeCPF = Request("CPF")

'Retirar todos os caracteres que não sejam 0-9

s=""

for x=1 to len(RecebeCPF)

ch=mid(RecebeCPF,x,1)

if asc(ch)>=48 and asc(ch)<=57 then

s=s & ch

end if

next

RecebeCPF = s

if len(RecebeCPF) <> 11 then

response.write("<h1>&Eacute; obrigat&oacute;rio o CPF com 11 d&iacute;gitos</h1>")

elseif RecebeCPF = "00000000000" then

response.write("<h1>CPF Inválido</h1>")

else

Numero(1) = Cint(Mid(RecebeCPF,1,1))

Numero(2) = Cint(Mid(RecebeCPF,2,1))

Numero(3) = Cint(Mid(RecebeCPF,3,1))

Numero(4) = Cint(Mid(RecebeCPF,4,1))

Numero(5) = Cint(Mid(RecebeCPF,5,1))

Numero(6) = CInt(Mid(RecebeCPF,6,1))

Numero(7) = Cint(Mid(RecebeCPF,7,1))

Numero(8) = Cint(Mid(RecebeCPF,8,1))

Numero(9) = Cint(Mid(RecebeCPF,9,1))

Numero(10) = Cint(Mid(RecebeCPF,10,1))

Numero(11) = Cint(Mid(RecebeCPF,11,1))

soma = 10 * Numero(1) + 9 * Numero(2) + 8 * Numero(3) + 7 * Numero(4) + 6 * Numero(5) + 5 * Numero(6) + 4 * Numero(7) + 3 * Numero(8) + 2 * Numero(9)

soma = soma -(11 * (int(soma / 11)))

if soma = 0 or soma = 1 then

resultado1 = 0

else

resultado1 = 11 - soma

end if

if resultado1 = Numero(10) then

soma = Numero(1) * 11 + Numero(2) * 10 + Numero(3) * 9 + Numero(4) * 8 + Numero(5) * 7 + Numero(6) * 6 + Numero(7) * 5 + Numero(8) * 4 + Numero(9) * 3 + Numero(10) * 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(11) then

response.write("<h1>CPF Válido</h1>")

else

response.write("<h1>CPF Inválido</h1>")

end if

else

response.write("<h1>CPF Inválido</h1>")

end if

end if

end function

como eu faço p/ que o usuário com cpf inválido não seja inscrito no site

a e detalhe a parte de inseção é a seguinte

sUserName = "" & RequestValue("username")

sName = "" & RequestValue("name")

sEmail = "" & RequestValue("email")

sDianasc = "" & RequestValue("Dianasc")

sMesnasc = "" & RequestValue("Mesnasc")

sAnonasc = "" & RequestValue ("Anonasc")

sSexo = "" & RequestValue("Sexo")

sAddressOne = "" & RequestValue("addressone")

sBairro1 = "" & RequestValue("Bairro1")

sAddressTwo = "" & RequestValue("addresstwo")

sBairro2 = "" & RequestValue("Bairro2")

sFone = "" & RequestValue("fone")

sDdd1 = "" & RequestValue("ddd1")

sCel = "" & RequestValue ("cel")

sDdd2 = "" & RequestValue("ddd2")

sCPF = "" & RequestValue("CPF")

sCity = "" & RequestValue("city")

sState = "" & RequestValue("state")

sZip = "" & RequestValue("zip")

sCountry = "" & RequestValue("country")

sInfoad = "" & RequestValue("Infoad")

sNovidades = "" & RequestValue("Novidades")

sString = ""

npSQL = "INSERT INTO tblQARegistration (regUserName, regPassword, regValidated, regName, anonasc, mesnasc, dianasc, regEmail, " & _

"regSexo, regBairro1, regBairro2, regAddress1, regAddress2,regFone,regDdd1, regCel, regDdd2, regCPF, regCity, regState, regZip, Infoad, Novidades, regCountry) VALUES (" & _

SQLStr(sUserName) & ", " & _

SQLStr(sPassword) & " , " & _

SQLBool(gbUsersAdd) & ", " & _

SQLStr(sName) & ", " & _

SQLStr(sAnonasc) & ", " & _

SQLStr(sMesnasc) & ", " & _

SQLStr(sDianasc) & ", " & _

SQLStr(sEmail) & ", " & _

SQLStr(sSexo) & ", " & _

SQLStr(sAddressOne) & ", " & _

SQLStr(sBairro1) & ", " & _

SQLStr(sAddressTwo) & ", " & _

SQLStr(sBairro2) & ", " & _

SQLStr(sfone) & ", " & _

SQLStr(sDdd1) & ", " & _

SQLStr(sCel) & ", " & _

SQLStr(sDdd2) & ", " & _

SQLStr(sCPF) & ", " & _

SQLStr(sCity) & ", " & _

SQLStr(sState) & ", " & _

SQLStr(sZip) & "," & _

SQLStr(sInfoad) & "," & _

SQLStr(sNovidades) & "," & _

SQLStr(sCountry) & " )"

gobjConnect.Execute(npSQL)

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Eu não sei se to entendendo o que tu quer fazer, mas se for o que eu to pensando é bem simples, utiliza um valor de retorno pra função CalculaCPF e daí testa esse valor... Por exemplo:

If CalculaCPF = True then
    call checkcpf
end if

Só não sei se é bem isso que tu quer...

Link para o comentário
Compartilhar em outros sites

  • 0

Primeiro tu tem que retornar um valor true se calcula cpf for valido e false se o cpf não for válido...

Link para o comentário
Compartilhar em outros sites

  • 0

Vou dar uma olhada, manda todo o teu código para o meu e-mail, ou melhor, pega meu icq...

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, ainda não consegui parar na frente do meu pc para fazer alguma coisa, estou cheio de trabalhos pra universidade, mas no final de semana eu vou dar uma olhada...

Link para o comentário
Compartilhar em outros sites

  • 0

ai francisco, será que você poderia ceder o codigo para eu analizar com mais calma aqui no meu trabalho? acho que estou entendendo o que você quer.

se puder fazer isso, manda ele zipado para o meu email

washibano@bol.com.br

assim que eu conseguir fazer ele chamar a funcao para você eu devolveri seu codigo.

ah, e não se preocupe que não vou passar ele para ninguém sem sua autorizacao.

coisa de ética entre programadores...

c entende né?

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0

Cara.. no java que você esta tratando se o CPF é válido, coloca o seguinte, se o CPF for inválido

form.elements[x].value = '';

form.elements[x].focus();

return false;

onde [x] é o número do campo do seu formulário que pede o CPF.

Este código irá fazer com que o campo CPF seja apagado, o foco volte para ele e não processe a página de inclusão de dados até o CPF ser válido.

Espero ter ajudado.

Nelson :ph34r:

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...