AI agents āļāļąāļāļŠāļīāļāđāļāđāļāļāđāļĢāļēāļāļļāļāļ§āļąāļ Soulprint â ZK Proofs āļāļģāļāļēāļāļāļāļāļļāļāļāļĢāļāđ MIT āļāļĢāļĩ
ðđð āļāļąāļāļĢāļāļĢāļ°āļāļēāļāļāđāļāļĒāļĒāļąāļāđāļĄāđāļāļĒāļđāđāđāļ Soulprint āđāļāļīāđāļĄāđāļāđāđāļ 30 āļāļēāļāļĩ
āļĢāļđāļāđāļāļāļāļąāļāļĢāļāļĢāļ°āļāļēāļāļ
13 āļŦāļĨāļąāļ āļŦāļĨāļąāļāđāļĢāļ = āļāļĢāļ°āđāļ āļ (1-8) āļŦāļĨāļąāļāļŠāļļāļāļāđāļēāļĒ = check digit (āļāļĢāļ°āļāļ§āļāļāļēāļĢ mod-10 āđāļāļāļāđāļ§āļāļāđāļģāļŦāļāļąāļ)
const TH: CountryVerifier = {
countryCode: "TH", countryName: "Thailand",
documentTypes: ["national_id"],
parse(ocrText: string): DocumentResult {
const id = ocrText.match(/(\d{13})/)?.[1] ?? "";
return { valid: !!id, doc_number: id, country: "TH" };
},
validate(docNumber: string): NumberValidation {
if(!/^\d{13}$/.test(docNumber)) return {valid:false};
const sum=docNumber.slice(0,12).split("").reduce((s,d,i)=>s+Number(d)*(13-i),0);
return { valid: (11-(sum%11))%10 === Number(docNumber[12]) };
},
};
export default TH;
ðŧ GitHub · āļŦāļāļķāđāļ PR āļŦāļāļķāđāļāļāļĢāļ°āđāļāļĻ
Top comments (0)