function validaCNPJ(str) { var dac, i, x; if (str.length != 14) return false; dac = 0; for(i=0; i<12; i++){ x = (i>3 ? i-2 : i+6); dac += parseInt(str.substring(i,i+1)) * x; } dac %= 11; if(dac == 10) dac = 0; if(dac != parseInt(str.substring(12,13))){ return false; } dac = 0; for(i=0; i<13; i++){ x = (i>4 ? i-3 : i+5); dac += parseInt(str.substring(i,i+1)) * x; } dac %= 11 if(dac == 10) dac = 0; if(dac != parseInt(str.substring(13,14))){ return false; } return true; }