UNPKG

@danielnogueira808/validations-libs

Version:

```sh npm i --save @danielnogueira808/validations-libs ``` # how to use ``` import { isCNPJ, isCPF } from "@danielnogueira808/validations-libs";

1 lines 731 B
const t=t=>t.replace(/[^\d]/g,""),r=(t,r,e)=>{let n=0,c=e;for(let e=0;e<r;e++)n+=parseInt(t.charAt(e))*c,c=2===c?9:c-1;return n%11<2?0:11-n%11};function e(e){return!!(r=>{if(!r)return!1;const e=t(r);return(t=>14===t.length)(e)&&!(t=>/^(\d)\1+$/.test(t))(e)})(e)&&(t=>{const e=r(t,12,5),n=r(t,13,6);return parseInt(t.charAt(12))===e&&parseInt(t.charAt(13))===n})(t(e))}const n=(t,r)=>{const e=[...t].slice(0,r).reduce(((t,e,n)=>t+parseInt(e)*(r+1-n)),0)%11;return e<2?0:11-e};function c(t){if(!t)return!1;const r=(t=>t.replace(/\D/g,""))(t);return!!(t=>11===t.length)(r)&&!(t=>/^(\d)\1{10}$/.test(t))(r)&&(t=>{const r=n(t,9),e=n(t,10);return r===parseInt(t.charAt(9))&&e===parseInt(t.charAt(10))})(r)}export{e as isCNPJ,c as isCPF};