validation.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. function validateCPF(strCPF) {
  2. var Soma;
  3. var Resto;
  4. Soma = 0;
  5. strCPF = String(strCPF).replace(/[^\d]/g, '');
  6. if (strCPF == "00000000000"){ return false; }
  7. if (strCPF == "11111111111"){ return false; }
  8. if (strCPF == "22222222222"){ return false; }
  9. if (strCPF == "33333333333"){ return false; }
  10. if (strCPF == "44444444444"){ return false; }
  11. if (strCPF == "55555555555"){ return false; }
  12. if (strCPF == "66666666666"){ return false; }
  13. if (strCPF == "77777777777"){ return false; }
  14. if (strCPF == "88888888888"){ return false; }
  15. if (strCPF == "99999999999"){ return false; }
  16. for (i = 1; i <= 9; i++) {
  17. Soma = Soma + parseInt(strCPF.substring(i - 1, i)) * (11 - i);
  18. }
  19. Resto = (Soma * 10) % 11;
  20. if ((Resto == 10) || (Resto == 11)) { Resto = 0; }
  21. if (Resto != parseInt(strCPF.substring(9, 10))) { return false; }
  22. Soma = 0;
  23. for (i = 1; i <= 10; i++) {
  24. Soma = Soma + parseInt(strCPF.substring(i - 1, i)) * (12 - i);
  25. }
  26. Resto = (Soma * 10) % 11;
  27. if ((Resto == 10) || (Resto == 11)) { Resto = 0; }
  28. if (Resto != parseInt(strCPF.substring(10, 11))) { return false; }
  29. return true;
  30. }
  31. function validateCNPJ(cnpj) {
  32. var b = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
  33. var c = String(cnpj).replace(/[^\d]/g, '');
  34. if (c.length !== 14) {
  35. return false
  36. }
  37. if (/0{14}/.test(c)) {
  38. return false
  39. }
  40. for (var i = 0, n = 0; i < 12; n += c[i] * b[++i])
  41. ;
  42. if (c[12] != (((n %= 11) < 2) ? 0 : 11 - n)) {
  43. return false
  44. }
  45. for (var i = 0, n = 0; i <= 12; n += c[i] * b[i++])
  46. ;
  47. if (c[13] != (((n %= 11) < 2) ? 0 : 11 - n)) {
  48. return false
  49. }
  50. return true
  51. }