|
@@ -0,0 +1,73 @@
|
|
|
|
|
+
|
|
|
|
|
+function validateCPF(strCPF) {
|
|
|
|
|
+ var Soma;
|
|
|
|
|
+ var Resto;
|
|
|
|
|
+ Soma = 0;
|
|
|
|
|
+
|
|
|
|
|
+ strCPF = String(strCPF).replace(/[^\d]/g, '');
|
|
|
|
|
+
|
|
|
|
|
+ if (strCPF == "00000000000"){ return false; }
|
|
|
|
|
+ if (strCPF == "11111111111"){ return false; }
|
|
|
|
|
+ if (strCPF == "22222222222"){ return false; }
|
|
|
|
|
+ if (strCPF == "33333333333"){ return false; }
|
|
|
|
|
+ if (strCPF == "44444444444"){ return false; }
|
|
|
|
|
+ if (strCPF == "55555555555"){ return false; }
|
|
|
|
|
+ if (strCPF == "66666666666"){ return false; }
|
|
|
|
|
+ if (strCPF == "77777777777"){ return false; }
|
|
|
|
|
+ if (strCPF == "88888888888"){ return false; }
|
|
|
|
|
+ if (strCPF == "99999999999"){ return false; }
|
|
|
|
|
+
|
|
|
|
|
+ for (i = 1; i <= 9; i++) {
|
|
|
|
|
+ Soma = Soma + parseInt(strCPF.substring(i - 1, i)) * (11 - i);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Resto = (Soma * 10) % 11;
|
|
|
|
|
+
|
|
|
|
|
+ if ((Resto == 10) || (Resto == 11)) { Resto = 0; }
|
|
|
|
|
+
|
|
|
|
|
+ if (Resto != parseInt(strCPF.substring(9, 10))) { return false; }
|
|
|
|
|
+
|
|
|
|
|
+ Soma = 0;
|
|
|
|
|
+ for (i = 1; i <= 10; i++) {
|
|
|
|
|
+ Soma = Soma + parseInt(strCPF.substring(i - 1, i)) * (12 - i);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Resto = (Soma * 10) % 11;
|
|
|
|
|
+
|
|
|
|
|
+ if ((Resto == 10) || (Resto == 11)) { Resto = 0; }
|
|
|
|
|
+
|
|
|
|
|
+ if (Resto != parseInt(strCPF.substring(10, 11))) { return false; }
|
|
|
|
|
+
|
|
|
|
|
+ return true;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+function validateCNPJ(cnpj) {
|
|
|
|
|
+
|
|
|
|
|
+ var b = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
|
|
|
|
|
+ var c = String(cnpj).replace(/[^\d]/g, '');
|
|
|
|
|
+
|
|
|
|
|
+ if (c.length !== 14) {
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (/0{14}/.test(c)) {
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ for (var i = 0, n = 0; i < 12; n += c[i] * b[++i])
|
|
|
|
|
+ ;
|
|
|
|
|
+
|
|
|
|
|
+ if (c[12] != (((n %= 11) < 2) ? 0 : 11 - n)) {
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ for (var i = 0, n = 0; i <= 12; n += c[i] * b[i++])
|
|
|
|
|
+ ;
|
|
|
|
|
+
|
|
|
|
|
+ if (c[13] != (((n %= 11) < 2) ? 0 : 11 - n)) {
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return true
|
|
|
|
|
+}
|
|
|
|
|
+
|