Usuário com melhor resposta
onBlur validar CPF

Pergunta
-
O que tem de errado neste procedimento, estou tentando validar o CPF através do javascript mas nada acontece
Coloquei essa chamada no codeBehind
<asp:TextBox ID="txtCPF" runat="server" placeholder="CPF" class="form-control input-md" type="text" maxlength="14" onkeypress="MascaraCPF(form1.txtCPF);" onblur="ValidarCPF(form1.txtCPF);" style="width:140px"></asp:TextBox>
Criei uma arquivo de script com a seguinte função
function ValidarCPF(Objcpf){
var cpf = Objcpf.value;
exp = /\.|\-/g
cpf = cpf.toString().replace( exp, "" );
var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
var soma1=0, soma2=0;
var vlr =11;
for(i=0;i<9;i++){
soma1+=eval(cpf.charAt(i)*(vlr-1));
soma2+=eval(cpf.charAt(i)*vlr);
vlr--;
}
soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
soma2=(((soma2+(2*soma1))*10)%11);
var digitoGerado=(soma1*10)+soma2;
if (digitoGerado != digitoDigitado)
{
windows.alert('CPF Invalido!');
return false;
}
else
{return true;}
}
Respostas
-
O erro está aqui
windows.alert('CPF Invalido!');
O que tem de errado nesta chamada?
- Marcado como Resposta Venildo Amaral terça-feira, 27 de março de 2018 12:21
-
Olá, para javascript geralmente usa-se apenas o alert('CPF Inválido'); sem a necessidade do Windows.
Outra coisa que você pode fazer é colocar um return na chamada do seu onblur.onblur="return ValidarCPF(form1.txtCPF)
Abs!
Leandro de Agostini MCTS - Web Application, Framework 4
- Marcado como Resposta Venildo Amaral terça-feira, 27 de março de 2018 12:22
Todas as Respostas
-
Boa tarde, Venildo Amaral. Tudo bem?
Obrigado por usar o fórum MSDN.
Você está recebendo alguma mensagem de erro ou algo do tipo?
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
-
-
Venildo isso é feito em javascript , faça assim :
debbuger; var cpf = Objcpf.value;
Se seu navegador for o chrome clique com o botão direito e escolha inspecionar, qdo vc informar o cpf ele vai parar depois do debbuger e vc verificar se tem algum erro.
Junior
-
Filipe, boa noite
Realmente tem um erro, mas não tenho conhecimento suficiente para entender o que está de errado
Uncaught ReferenceError: windows is not defined
at ValidarCPF (jsMascaras.js:83)
at HTMLInputElement.onblur (wfLoginNovoUsuario.aspx:60)O erro que esta dentro de um laço for
for(i=0;i<9;i++){
soma1+=eval(cpf.charAt(i)*(vlr-1));
soma2+=eval(cpf.charAt(i)*vlr);
vlr--;
}O erro esta na linha em negrito (vlr--;)
Poderia me ajudar?
-
Junior, boa noite
Realmente tem um erro, mas não tenho conhecimento suficiente para entender o que está de errado
Uncaught ReferenceError: windows is not defined
at ValidarCPF (jsMascaras.js:83)
at HTMLInputElement.onblur (wfLoginNovoUsuario.aspx:60)O erro que esta dentro de um laço for
for(i=0;i<9;i++){
soma1+=eval(cpf.charAt(i)*(vlr-1));
soma2+=eval(cpf.charAt(i)*vlr);
vlr--;
}O erro esta na linha em negrito (vlr--;)
Poderia me ajudar?
-
Olá, você pode adicionar esta função de javascript que está usando o REGEX no evento onblur do seu textbox. Ex:
<asp:TextBox runat="server" ID="txtCPF" onblur="IsCPF_CNPJ(this);" />
<script>
function IsCPF_CNPJ(valor) {
var numero = valor.value;
var campo = '#' + valor.id;
var regex1 = /^[0-9]{3}[0-9]{3}[0-9]{3}[0-9]{2}$/;
var regex2 = /^[0-9]{2}-[0-9]{3}.[0-9]{3}\/[0-9]{4}-[0-9]{2}$/;
numero = numero.replace(/^s+|s+$/g, '');//remover espaco em branco
if (numero.match(regex1) || numero.match(regex2)) {
$(campo).css('border-color', '#ccc');
return true;
}
else {
$(campo).css('border-color', 'red');
valor.value = '';
return false;
}
}</script>
Abs!
Leandro de Agostini MCTS - Web Application, Framework 4
-
-
Olá, acredito que você queira validar então o cálculo que é realizado para verificar se os números informados são condizentes com o CPF de registro. Veja se este link te ajuda.
http://www.macoratti.net/11/09/c_val1.htm
https://social.msdn.microsoft.com/Forums/pt-BR/1dbe81e6-c063-4ae5-ae1d-5643fb4b0e62/validar-cpf-em-c?forum=vscsharppt
Abs!
Leandro de Agostini MCTS - Web Application, Framework 4
-
O erro está aqui
windows.alert('CPF Invalido!');
O que tem de errado nesta chamada?
- Marcado como Resposta Venildo Amaral terça-feira, 27 de março de 2018 12:21
-
Olá, para javascript geralmente usa-se apenas o alert('CPF Inválido'); sem a necessidade do Windows.
Outra coisa que você pode fazer é colocar um return na chamada do seu onblur.onblur="return ValidarCPF(form1.txtCPF)
Abs!
Leandro de Agostini MCTS - Web Application, Framework 4
- Marcado como Resposta Venildo Amaral terça-feira, 27 de março de 2018 12:22
-
Venildo,
Altere o parâmetro da função de validação para "this" conforme o exemplo abaixo e veja se o problema persiste.
<asp:TextBox ID="txtCPF" runat="server" placeholder="CPF" class="form-control input-md" type="text" maxlength="14" onkeypress="MascaraCPF(this);" onblur="ValidarCPF(this);" style="width:140px"></asp:TextBox>
Carlos Eduardo Ferreira