Função JavaScript valida CPF

Olá, tudo bem? Aí vai umas funções para validar CPF em javascript….

function Atualiza()
{
if ((”==”OK”) && (document.frmFlag.hidFlag.value==1) && (document.Situacao.CPF!=”)) {
if ((”==’OK’) && (”==’1′) && (document.frmFlag.hidFlag.value==0) && (document.Situacao.CPF!=”) ){
document.frmFlag.hidFlag.value=1;
document.Situacao.submit();
}
var flag = document.frmFlag;
if (flag.hidFlag.value == 1)
{
window.location.reload();
}if (document.Situacao.CPF.value != ”) {
document.anti.Senha.focus();
} else {
document.Situacao.CPF.focus();
}
}

function Submeter()
{
var f = document.Situacao;
if (f.CPF.value==”") {
alert(“Informe o CPF.”);
f.CPF.focus();
return;
}
else
{
if (ContaDigitos(f.CPF.value) > 11 ) {
alert(“CPF inválido.”);
f.CPF.focus();
return;
}
var CPFaux = RetiraCaracteresInvalidos(f.CPF.value,11);
NR_CPF = CPFaux.substr(0,9);
var NR_DV = CPFaux.substr(9,2);
if (isEmpty(NR_CPF)) {
alert(“CPF inválido.”);
f.CPF.focus();
return;
}
else {
if(! validaCPF(NR_CPF, NR_DV,”CPF”) )
{
alert(“CPF inválido.”);
f.CPF.focus();
return;
}
}
}

var flag = document.frmFlag;
flag.hidFlag.value = 1;
if (flag.hidFlag.value==0) {
flag.hidFlag.value = 1;
if (”!=”" ) {
f.action = “pagina.asp?OPCAO=ROBO”+”&cpf=”+f.CPF.value+”&Senha=”+document.anti.Senha.value;
}
}

f.submit();
}

function Reexecute()
{
var f = document.Situacao;
document.frmFlag.hidFlag.value=1;
window.location.href=”pagina.asp?OPCAO=&cpf=”+f.CPF.value+”&Senha=”;
window.location.href=”pagina.asp”;
window.location.reload();
f.action = window.location.reload();
f.action = “pagina.asp?OPCAO=”+”&cpf=”+f.CPF.value+”&Senha=”;
if (f.CPF.value!=”") {
f.action = “pagina.asp”;
} else {
f.action = window.location.reload();
}
f.submit();
}

function SaltaCampo (campo, prox, tammax, teclapres)
{
var tecla = teclapres.keyCode;
vr = campo.value;
tam = vr.length;
if (tecla != 0 && tecla != 10 && tecla != 24)
if (tam == tammax)
prox.focus();
}var ImagemAtual = new Image();
function MudaImagem(MyImg, Imagem)
{
ImagemAtual.src = Imagem;
MyImg.src = ImagemAtual.src;
}var ie=(((navigator.userAgent.indexOf(“MSIE”)>-1)||(navigator.userAgent.indexOf(“Mozilla/5.0″)>-1))&&navigator.userAgent.indexOf(“Opera”)==-1?true:false);
var ns=(navigator.userAgent.indexOf(“Netscape”)>-1&&navigator.userAgent.indexOf(“Opera”)==-1?true:false);

var ImagemAtual = new Image();
//—————
function ajustar_cpf(input, evento)
{
var BACKSPACE= 8;
var DEL= 46;
var FRENTE= 39;
var TRAS= 37;
var tecla= (evento.keyCode ? evento.keyCode: evento.which ? evento.which : evento.charCode)
if (( tecla == BACKSPACE )||(tecla == DEL)||(tecla == FRENTE)||(tecla == TRAS)) {
return true;
}
if ( tecla == 13 ) return false;

if ((tecla<48)||(tecla>57)){
evento.returnValue =false;
return false;
} else {
if((input.value.length==3)||(input.value.length==7)) {
input.value=input.value + “.” ;
} else {
if(input.value.length==11) {
input.value=input.value + “-” ;
}
}
}
return true;

}

//——————————-
function editacpf(strCampo,tam) {
var i;
var j;
var nTamanho;
var szCampo;
j=0;
nTamanho = strCampo.length;
szCampo = “”;
for (i = nTamanho-1;i>=0;i–)
{
if (isDigit(strCampo.charAt(i))) {
szCampo = strCampo.charAt(i) + szCampo;
j++;
if (j > tam) break;
}
}
if (szCampo.length < tam) {
for (i = szCampo.length;i<tam;i++)
tam;i++)
{
szCampo = “0″ + szCampo;
}
}
if (j==0) return “”;
return (szCampo.substr(0,3)+”.”+szCampo.substr(3,3)+”.”+szCampo.substr(6,3)+”-”+szCampo.substr(9,2));
}
//——————————-
function isDigit (c){

return ((c >= “0″) && (c <= “9″))
}

//——————————-
function RetiraCaracteresInvalidos(strCampo,tam) {
nTamanho = strCampo.length;
szCampo = “”;
j=0;
for (i = nTamanho-1;i>=0;i–)
{
if (isDigit(strCampo.charAt(i))) {
szCampo = strCampo.charAt(i) + szCampo;
j++;
if (j > tam) break;
}
}
if (szCampo.length < tam) {
for (i = szCampo.length;i<tam;i++)
</tam;i++)
{
szCampo = “0″ + szCampo;
}
}
return szCampo;
}
//——————————-
function ContaDigitos(strCampo) {
nTamanho = strCampo.length;
szCampo = “”;
j=0;
for (i = nTamanho-1;i>=0;i–)
{
if (isDigit(strCampo.charAt(i))) {
szCampo = strCampo.charAt(i) + szCampo;
j++;
}
}
return j;
}
//——————————-
function validaCPF(rcpf1,rcpf2,c) {
d1 = 0;
for (i=0;i<9;i++)
d1 += rcpf1.charAt(i)*(10-i);
d1 = 11 – (d1 % 11);
if (d1>9) d1 = 0;if (rcpf2.charAt(0) != d1)
return false;

d1 *= 2;
for (i=0;i<9;i++)
d1 += rcpf1.charAt(i)*(11-i);
d1 = 11 – (d1 % 11);
if (d1>9) d1 = 0;

if (rcpf2.charAt(1) != d1)
return false;
return true;
}
//——————————-
function isDigit (c){

return ((c >= “0″) && (c <= “9″))
}
//——————————-
function isInteger (s) {
var i;
if (isEmpty(s))
if (isInteger.arguments.length == 1) return false;

for (i = 0; i < s.length; i++)
{
var c = s.charAt(i);
if (!isDigit(c)) return false;
}
return true;
}
//——————————-
function isEmpty(s){
return ((s == null) || (s.length == 0))
}

Abraços e até a próxima pessoal!

~ por Tiago em Novembro 6, 2007.

2 Respostas to “Função JavaScript valida CPF”

  1. Uma função deveria tratar uma string, e nao um campo do formulario

  2. Pessoal, se for comentar no meu blog, argumentem, leiam , se informem antes…
    Ridiculo comentario… aprovei pra dizer….

    1) diga qual funcao
    2) sugiro ler qualquer livro da Javascript!

    Se tem dúvida pergunte, nao afirme algo que nao saiba.

Deixe uma resposta