Estou tentando validar o CPF com uma função que busquei do fórum só que quando chamo nada acontece, dá apenas no rodapé do internet explorer a mensagem erro na página. Alguém pode me ajudar, pois não estou conseguindo descobrir o erro, vou colocar meu código aí:
<script>
function IsCPFValid(FormName, ElemName, ElemCaption){
document.forms[FormName].elements[ElemName].value = formatDoc(FormName, ElemName, 'cpf', 'banco');
var ok = 'sim';
var ParteString;
var Mensagem;
var CampoTeste = document.forms[FormName].elements[ElemName];
var CampoSemBrancos;
CharValido = '0123456789'
//Monta campo sem brancos
CampoSemBrancos = "";
for (var i=0; i < CampoTeste.value.length; i++) {
if (CampoTeste.value.substring(i, i+1) != ' ') {
CampoSemBrancos = CampoSemBrancos + CampoTeste.value.substring(i, i+1);
}
}
//Se campo estiver vazio
if (CampoSemBrancos == '') {
Mensagem = 'Por favor, preencha o campo ' + ElemCaption
alert(Mensagem)
CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela");
CampoTeste.select();
CampoTeste.focus()
return false;
}
//Se estiver preenchido, testar os caracteres
ParteString = "";
for (var i=0; i < CampoTeste.value.length; i++) {
ParteString = "" + CampoTeste.value.substring(i, i+1);
if (CharValido.indexOf(ParteString) == "-1") {
ok = "não";
}
}
if (ok == "não") {
alert("Caracteres inválidos! Preencha somente com números!");
CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela");
CampoTeste.select();
CampoTeste.focus();
return false;
}
if (CampoTeste.value.length != 11){
alert("Por Favor, Preencha com 11 números!");
CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela");
CampoTeste.select();
CampoTeste.focus();
return false;
}
//Calculo de consistencia do CPF
var soma
var CPFCalculado
var CPFDigito
CPFCalculado = CampoTeste.value.substring(0,9);
soma = 0;
for (var i=0; i < 9; i++) {
soma = soma + CPFCalculado.substring(i, i+1) * (10 - i)
}
CPFDigito = 11 - (soma % 11);
if (CPFDigito > 9){
CPFCalculado = CPFCalculado + '0';
}
else{
CPFCalculado = CPFCalculado + String(CPFDigito);
}
soma = 0;
for (i=0;i < 10; i++){
soma = soma + CPFCalculado.substring(i, i+1) * (11 - i)
}
CPFDigito = 11 - (soma % 11);
if (CPFDigito > 9){
CPFCalculado = CPFCalculado + '0';
}
else{
CPFCalculado = CPFCalculado + String(CPFDigito);
}
if (
(CampoTeste.value != CPFCalculado)
||(CampoTeste.value == '11111111111')
||(CampoTeste.value == '22222222222')
||(CampoTeste.value == '33333333333')
||(CampoTeste.value == '44444444444')
||(CampoTeste.value == '55555555555')
||(CampoTeste.value == '66666666666')
||(CampoTeste.value == '77777777777')
||(CampoTeste.value == '88888888888')
||(CampoTeste.value == '99999999999')
){
//alert("CPF Inválido! Digite novamente! " + String(CPFCalculado));
alert("CPF Inválido! Digite novamente! ");
CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela");
CampoTeste.select();
CampoTeste.focus();
return false;
}
CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela");
return true;
</script>
<td width="40%"><input name="frmCnpjCpf" type="text" id="frmCnpjCpf" size="25" maxlength="25"
onChange="IsCPFValid(this.frmincfornecedor, 'frmCnpjCpf', 'frmCnpjCpf')"></td>
<script language="javascript">
addCampos('frmCnpjCpf');
frmincfornecedor.frmCnpjCpf.focus();
</script>
Pergunta
monalisa
Estou tentando validar o CPF com uma função que busquei do fórum só que quando chamo nada acontece, dá apenas no rodapé do internet explorer a mensagem erro na página. Alguém pode me ajudar, pois não estou conseguindo descobrir o erro, vou colocar meu código aí:
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
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.