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í:
<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>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.