Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2014
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.68 KB | None | 0 0
  1. jQuery.validator.addMethod("cnpj", function (cnpj, element) {
  2. cnpj = jQuery.trim(cnpj);
  3.  
  4. // DEIXA APENAS OS NÚMEROS
  5. cnpj = cnpj.replace('/', '');
  6. cnpj = cnpj.replace('.', '');
  7. cnpj = cnpj.replace('.', '');
  8. cnpj = cnpj.replace('-', '');
  9.  
  10. var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
  11. digitos_iguais = 1;
  12.  
  13. if (cnpj.length < 14 && cnpj.length < 15) {
  14. return this.optional(element) || false;
  15. }
  16. for (i = 0; i < cnpj.length - 1; i++) {
  17. if (cnpj.charAt(i) != cnpj.charAt(i + 1)) {
  18. digitos_iguais = 0;
  19. break;
  20. }
  21. }
  22.  
  23. if (!digitos_iguais) {
  24. tamanho = cnpj.length - 2
  25. numeros = cnpj.substring(0, tamanho);
  26. digitos = cnpj.substring(tamanho);
  27. soma = 0;
  28. pos = tamanho - 7;
  29.  
  30. for (i = tamanho; i >= 1; i--) {
  31. soma += numeros.charAt(tamanho - i) * pos--;
  32. if (pos < 2) {
  33. pos = 9;
  34. }
  35. }
  36. resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
  37. if (resultado != digitos.charAt(0)) {
  38. return this.optional(element) || false;
  39. }
  40. tamanho = tamanho + 1;
  41. numeros = cnpj.substring(0, tamanho);
  42. soma = 0;
  43. pos = tamanho - 7;
  44. for (i = tamanho; i >= 1; i--) {
  45. soma += numeros.charAt(tamanho - i) * pos--;
  46. if (pos < 2) {
  47. pos = 9;
  48. }
  49. }
  50. resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
  51. if (resultado != digitos.charAt(1)) {
  52. return this.optional(element) || false;
  53. }
  54. return this.optional(element) || true;
  55. } else {
  56. return this.optional(element) || false;
  57. }
  58. }, "Informe um CNPJ válido.");
  59.  
  60. jQuery.validator.addMethod("cpf", function (value, element) {
  61. value = jQuery.trim(value);
  62.  
  63. value = value.replace('.', '');
  64. value = value.replace('.', '');
  65. cpf = value.replace('-', '');
  66. while (cpf.length < 11) cpf = "0" + cpf;
  67. var expReg = /^0+$|^1+$|^2+$|^3+$|^4+$|^5+$|^6+$|^7+$|^8+$|^9+$/;
  68. var a = [];
  69. var b = new Number;
  70. var c = 11;
  71. for (i = 0; i < 11; i++) {
  72. a[i] = cpf.charAt(i);
  73. if (i < 9) b += (a[i] * --c);
  74. }
  75. if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11 - x }
  76. b = 0;
  77. c = 11;
  78. for (y = 0; y < 10; y++) b += (a[y] * c--);
  79. if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11 - x; }
  80. if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10]) || cpf.match(expReg)) return this.optional(element) || false;
  81. return this.optional(element) || true;
  82. }, "Informe um CPF válido."); // Mensagem padrão
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement