Skip to content

Instantly share code, notes, and snippets.

@mariovalney
Created September 16, 2016 20:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mariovalney/100eb30d6e8f13e9b4ba29142fe6e644 to your computer and use it in GitHub Desktop.
Save mariovalney/100eb30d6e8f13e9b4ba29142fe6e644 to your computer and use it in GitHub Desktop.
Validate Documents
function putDots(num) {
if (num == 0) {
return "0"
} else {
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
}
function putDotsToMoney(num) {
num = parseFloat(num);
if ( isNaN(num) ) {
num = 0;
}
num = num.toFixed(2);
var number = num.toString();
number = number.split('.');
if ( number[1] == null || number[1].length < 1 ) {
number[1] = '00';
} else if ( number[1].length == 1 ) {
number[1] = number[1].toString() + "0";
}
return putDots(number[0]) + ',' + number[1];
}
function validateCPF(number) {
var cpf = number.toString().replace(/[^0-9]/g, '');
if (cpf.length != 11) {
return false;
}
var digitoTestado = cpf.slice(9, 11);
var digitoValidado = '';
var sum1 = sum2 = dig1 = dig2 = 0;
for (var i = 0; i < 10; i++) {
if (i < 9) {
sum1 = sum1 + ( cpf.charAt(i) * (10 - i) );
}
sum2 = sum2 + ( cpf.charAt(i) * (11 - i) );
};
if ( (sum1 % 11) >= 2 ) {
dig1 = 11 - (sum1 % 11);
}
if ( (sum2 % 11) >= 2 ) {
dig2 = 11 - (sum2 % 11);
}
digitoValidado = dig1.toString() + dig2.toString();
if ( digitoTestado === digitoValidado ) {
return true;
}
return false;
}
function validateCNPJ(number) {
var cnpj = number.toString().replace(/[^0-9]/g, '');
if (cnpj.length != 14) {
return false;
}
var digitoTestado = cnpj.slice(12, 14);
var digitoValidado = '';
var sum1 = sum2 = dig1 = dig2 = 0;
var second_row = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
for (var i = 0; i < 13; i++) {
if (i < 12) {
sum1 = sum1 + ( cnpj.charAt(i) * second_row[i + 1] );
}
sum2 = sum2 + ( cnpj.charAt(i) * second_row[i] );
};
if ( (sum1 % 11) >= 2 ) {
dig1 = 11 - (sum1 % 11);
}
if ( (sum2 % 11) >= 2 ) {
dig2 = 11 - (sum2 % 11);
}
digitoValidado = dig1.toString() + dig2.toString();
if ( digitoTestado === digitoValidado ) {
return true;
}
return false;
}
function validateDocument(number) {
if (validateCPF(number)) {
return true;
}
if (validateCNPJ(number)) {
return true;
}
return false;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment