DEV Community

Manuel Felipe Arias Pineda
Manuel Felipe Arias Pineda

Posted on

🇨🇳 中国 devs: Add 居民身份证 to the AI identity standard — Soulprint open source (30 min PR)

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;
Enter fullscreen mode Exit fullscreen mode

💻 GitHub · 一个PR。一个国家。

Top comments (0)