validator-ec
Version:
Colección de validadores de datos comunes en Ecuador desarrollada en TypeScript.
2 lines • 1.5 kB
JavaScript
;var p=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var D=Object.prototype.hasOwnProperty;var I=(t,e)=>{for(var r in e)p(t,r,{get:e[r],enumerable:!0})},v=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of h(e))!D.call(t,i)&&i!==r&&p(t,i,{get:()=>e[i],enumerable:!(n=c(e,i))||n.enumerable});return t};var x=t=>v(p({},"__esModule",{value:!0}),t);var y={};I(y,{isCedula:()=>l,isLegalEntityRUC:()=>d,isRUC:()=>b,isZipCode:()=>m});module.exports=x(y);function o(t){return/^\d+$/.test(t)}function l(t){if(t.length!==10||!o(t))return!1;let e=parseInt(t[t.length-1],10),r=0,n=0,i=0;for(let f=1;f<=t.length-1;f++)if(f%2===0)r+=parseInt(t[f-1]);else{let u=parseInt(t[f-1])*2;u>9?n+=u-9:n+=u}i+=r+n;let s=(parseInt(i.toString()[0],10)+1)*10-i;s>=10&&(s=0);let a=parseInt(t[0]+t[1]);return a>24&&a!=30?!1:s===e}function b(t){if(t.length!==13||!o(t))return!1;let e=t.substring(0,10);if(t.substring(10,13)!=="001")return!1;let n=parseInt(t[2],10);return n>=0&&n<=5?l(e):n===9?R(t):n===6?U(t):!1}function R(t){return!0}function U(t){let e=[3,2,7,6,5,4,3,2],r=t.substring(0,8),n=parseInt(t[8],10),i=0;for(let s=0;s<e.length;s++){let a=parseInt(r[s],10)*e[s];i+=a}let g=i%11;return(g===0?0:11-g)===n}function d(t){return t.length===13&&t[2]==="9"}function m(t){if(t.length!==6||!o(t))return!1;let e=parseInt(t[0]+t[1],10);return!(e<1||e>24)}0&&(module.exports={isCedula,isLegalEntityRUC,isRUC,isZipCode});
//# sourceMappingURL=index.cjs.map