Guest User

Untitled

a guest
Mar 17th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. function validateCNPJ(cnpjNumber) {
  2. var cnpj, length, numbers, digit, sum, pos, result;
  3.  
  4. cnpj = cnpjNumber.replace(/\D/g, '');
  5. if (cnpj.length !== 14 || /^(\d)\1+$/g.test(cnpj)) {
  6. return false;
  7. }
  8.  
  9. length = cnpj.length - 2;
  10. numbers = cnpj.substring(0, length);
  11. digit = cnpj.substring(length);
  12. sum = 0;
  13. pos = length - 7;
  14. for (i = length; i >= 1; i--) {
  15. sum += parseInt(numbers.charAt(length - i)) * pos--;
  16. if (pos < 2) {
  17. pos = 9;
  18. }
  19. }
  20.  
  21. result = sum % 11 < 2 ? 0 : 11 - sum % 11;
  22. if (result !== parseInt(digit.charAt(0))) {
  23. return false;
  24. }
  25.  
  26. length = length + 1;
  27. numbers = cnpj.substring(0, length);
  28. sum = 0;
  29. pos = length - 7;
  30. for (i = length; i >= 1; i--) {
  31. sum += parseInt(numbers.charAt(length - i)) * pos--;
  32. if (pos < 2) {
  33. pos = 9;
  34. }
  35. }
  36.  
  37. result = sum % 11 < 2 ? 0 : 11 - sum % 11;
  38. if (result !== parseInt(digit.charAt(1))) {
  39. return false;
  40. }
  41.  
  42. return true;
  43. }
Add Comment
Please, Sign In to add comment