cpf-check
Version:
Validador de CPF Moderno, Isomórfico e Super Leve.
2 lines (1 loc) • 940 B
JavaScript
!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(n.CPF={})}(this,function(n){var e=/^(\d{3})(.|-)?(\d{3})(.|-)?(\d{3})(.|-)?(\d{2})$/;function t(n){var e=n.map(function(e,t){return(n.length+1-t)*e}).reduce(function(n,e){return n+e},0)%11;return e<2?0:11-e}function r(n){return(""+n).replace(/\D/g,"")}function u(n){var t=r(n).substr(0,11).replace(e,"$1.$3.$5-$7");return 14===t.length?t:""}function a(n){var e=r(n);if(11!==e.length)return!1;var u=e.split("").map(function(n){return parseInt(n,10)});return!u.every(function(n){return n===u[0]})&&u[9]===t(u.slice(0,9))&&u[10]===t(u.slice(0,10))}function i(n){var e=Array(9).fill(0).map(function(){return Math.floor(9*Math.random())}),r=t(e),a=""+e.join("")+r+t(e.concat(r));return n?u(a):a}var o={strip:r,format:u,validate:a,generate:i};n.strip=r,n.format=u,n.validate=a,n.generate=i,n.default=o});