Cara, é o seguinte, a primeira lida no código, constatei que você não tá validando o cpf nem cnpj, acho muito importante e fácil isso, se interessar tenho isso já. validação de CPF(cod)
"// a função recebe como parâmetro uma variável string
function checaCPF (CPF) {
if (CPF.length != 11 || CPF == "00000000000" || CPF == "11111111111" ||
CPF == "22222222222" || CPF == "33333333333" || CPF == "44444444444" ||
CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" ||
CPF == "88888888888" || CPF == "99999999999")
return false;
soma = 0;
for (i=0; i < 9; i ++)
soma += parseInt(CPF.charAt(i)) * (10 - i);
resto = 11 - (soma % 11);
if (resto == 10 || resto == 11)
resto = 0;
if (resto != parseInt(CPF.charAt(9)))
return false;
soma = 0;
for (i = 0; i < 10; i ++)
soma += parseInt(CPF.charAt(i)) * (11 - i);
resto = 11 - (soma % 11);
if (resto == 10 || resto == 11)
resto = 0;
if (resto != parseInt(CPF.charAt(10)))
return false;
return true;
}"
Validacao de CNPJ
function validaCNPJ() {
CNPJ = document.validacao.CNPJID.value;
erro = new String;
if (CNPJ.length < 18) erro += "É necessario preencher corretamente o número do CNPJ! \n\n";
if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
if (erro.length == 0) erro += "É necessário preencher corretamente o número do CNPJ! \n\n";
}
//substituir os caracteres que não são números
if(document.layers && parseInt(navigator.appVersion) == 4){
x = CNPJ.substring(0,2);
x += CNPJ. substring (3,6);
x += CNPJ. substring (7,10);
x += CNPJ. substring (11,15);
x += CNPJ. substring (16,18);
CNPJ = x;
} else {
CNPJ = CNPJ. replace (".","");
CNPJ = CNPJ. replace (".","");
CNPJ = CNPJ. replace ("-","");
CNPJ = CNPJ. replace ("/","");
}
var nonNumbers = /\D/;
if (nonNumbers.test(CNPJ)) erro += "A verificação de CNPJ suporta apenas números! \n\n";
var a = [];
var b = new Number;
var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
for (i=0; i<12; i++){
a[i] = CNPJ.charAt(i);
b += a[i] * c[i+1];
}
if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
b = 0;
for (y=0; y<13; y++) {
b += (a[y] * c[y]);
}
if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
erro +="Dígito verificador com problema!";
}
if (erro.length > 0){
alert(erro);
return false;
} else {
alert("CNPJ valido!");
}
return true;
}