Skip to content

Instantly share code, notes, and snippets.

@egermano
Created September 4, 2014 22:22
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save egermano/f44343edf0ae8db169bc to your computer and use it in GitHub Desktop.
Save egermano/f44343edf0ae8db169bc to your computer and use it in GitHub Desktop.
Parsley CPF validator
window.ParsleyConfig = {
validators: {
cpf: {
fn : function ( val, req) {
val = $.trim(val);
val = val.replace('.','');
val = val.replace('.','');
cpf = val.replace('-','');
while(cpf.length < 11) cpf = "0"+ cpf;
var expReg = /^0+$|^1+$|^2+$|^3+$|^4+$|^5+$|^6+$|^7+$|^8+$|^9+$/;
var a = [];
var b = new Number;
var c = 11;
for (i=0; i<11; i++){
a[i] = cpf.charAt(i);
if (i < 9) b += (a[i] * --c);
}
if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
b = 0;
c = 11;
for (y=0; y<10; y++) b += (a[y] * c--);
if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
var result = true;
if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10]) || cpf.match(expReg)) result = false;
return result;
},
priority: 32
}
}
};
@absnows
Copy link

absnows commented Aug 24, 2016

Cara você não tem nenhuma validação dessa para CNPJ ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment