Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2015
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.43 KB | None | 0 0
  1. public class CpfCnpjValidator {
  2. public static boolean check(String text) {
  3. if (text.length() == 11)
  4. return checkCPF(text);
  5. if (text.length() == 14)
  6. return checkCNPJ(text);
  7. return false;
  8. }
  9.  
  10. public static boolean checkCNPJ(String CNPJ) {
  11. if (CNPJ.equals("00000000000000") || CNPJ.equals("11111111111111")
  12. || CNPJ.equals("22222222222222")
  13. || CNPJ.equals("33333333333333")
  14. || CNPJ.equals("44444444444444")
  15. || CNPJ.equals("55555555555555")
  16. || CNPJ.equals("66666666666666")
  17. || CNPJ.equals("77777777777777")
  18. || CNPJ.equals("88888888888888")
  19. || CNPJ.equals("99999999999999")) {
  20. return false;
  21. }
  22.  
  23. char dig13, dig14;
  24. int sm, i, r, num, peso;
  25.  
  26. try {
  27. sm = 0;
  28. peso = 2;
  29. for (i = 11; i >= 0; i--) {
  30.  
  31. num = (int) (CNPJ.charAt(i) - 48);
  32. sm = sm + (num * peso);
  33. peso = peso + 1;
  34. if (peso == 10)
  35. peso = 2;
  36. }
  37.  
  38. r = sm % 11;
  39. if ((r == 0) || (r == 1))
  40. dig13 = '0';
  41. else
  42. dig13 = (char) ((11 - r) + 48);
  43.  
  44. sm = 0;
  45. peso = 2;
  46. for (i = 12; i >= 0; i--) {
  47. num = (int) (CNPJ.charAt(i) - 48);
  48. sm = sm + (num * peso);
  49. peso = peso + 1;
  50. if (peso == 10)
  51. peso = 2;
  52. }
  53.  
  54. r = sm % 11;
  55. if ((r == 0) || (r == 1))
  56. dig14 = '0';
  57. else
  58. dig14 = (char) ((11 - r) + 48);
  59.  
  60. if ((dig13 == CNPJ.charAt(12)) && (dig14 == CNPJ.charAt(13)))
  61. return (true);
  62. else
  63. return (false);
  64. } catch (Exception erro) {
  65. return (false);
  66. }
  67. }
  68.  
  69. public static boolean checkCPF(String CPF) {
  70. if (CPF.equals("00000000000") || CPF.equals("11111111111")
  71. || CPF.equals("22222222222") || CPF.equals("33333333333")
  72. || CPF.equals("44444444444") || CPF.equals("55555555555")
  73. || CPF.equals("66666666666") || CPF.equals("77777777777")
  74. || CPF.equals("88888888888") || CPF.equals("99999999999")) {
  75. return false;
  76. }
  77.  
  78. char dig10, dig11;
  79. int sm, i, r, num, peso;
  80.  
  81. try {
  82. sm = 0;
  83. peso = 10;
  84. for (i = 0; i < 9; i++) {
  85.  
  86. num = (int) (CPF.charAt(i) - 48);
  87. sm = sm + (num * peso);
  88. peso = peso - 1;
  89. }
  90.  
  91. r = 11 - (sm % 11);
  92. if ((r == 10) || (r == 11))
  93. dig10 = '0';
  94. else
  95. dig10 = (char) (r + 48);
  96.  
  97. sm = 0;
  98. peso = 11;
  99. for (i = 0; i < 10; i++) {
  100. num = (int) (CPF.charAt(i) - 48);
  101. sm = sm + (num * peso);
  102. peso = peso - 1;
  103. }
  104.  
  105. r = 11 - (sm % 11);
  106. if ((r == 10) || (r == 11))
  107. dig11 = '0';
  108. else
  109. dig11 = (char) (r + 48);
  110.  
  111. if ((dig10 == CPF.charAt(9)) && (dig11 == CPF.charAt(10)))
  112. return (true);
  113. else
  114. return (false);
  115. } catch (Exception erro) {
  116. return (false);
  117. }
  118.  
  119. }
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement