br-validations
Version:
A library of validations applicable to several Brazilian data like I.E., CNPJ, CPF and others
20 lines (17 loc) • 491 B
JavaScript
var CPF = {};
CPF.validate = function(cpf) {
cpf = cpf.replace(/[^\d]+/g,'');
var r = /^(0{11}|1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11})$/;
if (!cpf || cpf.length !== 11 || r.test(cpf)) {
return false;
}
function validateDigit(digit) {
var add = 0;
var init = digit - 9;
for (var i = 0; i < 9; i ++) {
add += parseInt(cpf.charAt(i + init)) * (i+1);
}
return (add%11)%10 === parseInt(cpf.charAt(digit));
}
return validateDigit(9) && validateDigit(10);
};