AI ajanları her gün kimlik doğrulaması olmadan kararlar alıyor. Soulprint — ZK Proofs, yerel, MIT.
🇹🇷 TC Kimlik Numarası Soulprint'te henüz yok. 30 dakikada PR gönderebilirsin.
TC Kimlik Algoritması
- hane: ((1+3+5+7+9. basamak)*7 − (2+4+6+8. basamak)) mod 10.
- hane: ilk 10 basamak toplamı mod 10.
const TR: CountryVerifier = {
countryCode: "TR", countryName: "Turkey",
documentTypes: ["tc_kimlik"],
parse(ocrText: string): DocumentResult {
const tc = ocrText.match(/(\d{11})/)?.[1] ?? "";
return { valid: !!tc, doc_number: tc, country: "TR" };
},
validate(docNumber: string): NumberValidation {
if(!/^\d{11}$/.test(docNumber)||docNumber[0]==="0") return {valid:false};
const d=docNumber.split("").map(Number);
const c10=((d[0]+d[2]+d[4]+d[6]+d[8])*7-(d[1]+d[3]+d[5]+d[7]))%10;
const c11=d.slice(0,10).reduce((a,b)=>a+b,0)%10;
return { valid: d[9]===c10 && d[10]===c11 };
},
};
export default TR;
💻 GitHub · Bir PR. Bir ülke.
Top comments (0)