peru-doc-validators
Version:
Validaciones para los documentos de Identidad que se usan en el Perú
3 lines (2 loc) • 977 B
JavaScript
!function(t,s){"object"==typeof exports&&"undefined"!=typeof module?s(exports):"function"==typeof define&&define.amd?define(["exports"],s):s((t=t||self).peruDocValidators={})}(this,function(t){t.Dni=class{constructor(t,s){this.number=t,this.digit=s,this.errors=[],this.status={code:-1,message:"no validado"},this.validate()}validate(){this.validateDigits()}get isValid(){return 0===this.status.code}validateDigits(){const t=[3,2,7,6,5,4,3,2],s=[6,7,8,9,0,1,1,2,3,4,5],i=this.number.substring(0,this.number.length-1).split("").map(t=>+t),e=this.digit,a=11-i.reduce((s,i,e)=>s+i*t[e],0)%11,d=11===a?0:a;if(/^\d+$/.test(this.number)){const t=s[d]===parseInt(e,10);this.addStatus(t)}else this.addStatus(["K","A","B","C","D","E","F","G","H","I","J"][d]===e)}addStatus(t){t?this.setValidOk():this.setValidError("Formato invalido")}setValidOk(){this.status={code:0,message:"Documento Valido"}}setValidError(t){this.status={code:1,message:t}}}});
//# sourceMappingURL=index.umd.js.map