AI代理每天代替我们做决策,但没人验证背后是否有真实的人。
Soulprint — Zero-Knowledge Proof解决方案。100%本地处理,MIT许可,免费。
🇨🇳 中国居民身份证还没有在Soulprint中。你可以在30分钟内完成PR。
居民身份证格式
18位:6位地区码 + 8位出生日期 + 3位顺序码 + 1位校验码(0-9或X)。校验:ISO 7064 MOD 11-2。
const CN: CountryVerifier = {
countryCode: "CN", countryName: "China",
documentTypes: ["resident_id"],
parse(ocrText: string): DocumentResult {
const id = ocrText.match(/(\d{17}[\dX])/)?.[1] ?? "";
return { valid: !!id, doc_number: id, country: "CN" };
},
validate(docNumber: string): NumberValidation {
if(!/^\d{17}[\dX]$/.test(docNumber)) return {valid:false};
const w=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
const checks="10X98765432";
const sum=w.reduce((s,v,i)=>s+v*Number(docNumber[i]),0);
return { valid: checks[sum%11] === docNumber[17].toUpperCase() };
},
};
export default CN;
💻 GitHub · 一个PR。一个国家。
Top comments (0)