「实名认证」基础知识:「实名认证」在产品中的应用(2)
从 1999 年后,就开始逐步推行第二代身份证号码,那么,现在还有人在用第一代的 15 位身份证号码吗?我猜是有的,虽然没找到具体数据,但在全国公民身份证号码查询服务中心看到了下图这个查询功能: 既然存在两代身份证号码?那就给我们带来一个问题:是否需要对两种身份证号码都进行验证? 解决方案:根据不同用户,确定验证的身份证号码位数。对于多数用户,只需验证 18 位身份证号码。 为什么?因为有足够理由相信如今使用 15 位身份证号码的人已经很少,尽管没找到具体数据。理由吧,有这么几点: a.自 1999 年开始就在推行 18 位身份证号码,至今已过去近 18 年。而身份证都有有效期,相信很多身份证号码都在这个过程中从 15 位升为了 18 位。而且,我们往往在十几岁才开始办身份证,以 16 岁为起点,第一代办理 18 位号码身份证的人,现在已经 34 岁。 为什么以 16 岁为起点?因为《中华人民共和国公安部令第 43 号》提到:
b.二代身份证的推行,让多数人已经用上了 18 位身份证号码。比如 12306 网站的这样一条声明,就能说明目前使用二代身份证的人已占绝大多数。 c.而且,就互联网用户来说,那就更少,因为互联网用户更为年轻,对新事物也更容易接受。 3)身份证号码规则 a.表示形式:如下图,下图来自GB11643-1999《公民身份号码》。 b.校验码:如下图,下图来自GB11643-1999《公民身份号码》。 PS:下图只提供了部分校验码的规则,其他位置的号码规则不再提供,具体可以参见GB11643-1999《公民身份号码》。 解决方案:按照身份证号码的规则完成验证,确定用户输入的身份证号码格式是否正确。这和产品人关系不大,主要靠咱们无敌的开发哥哥。有兴趣的,给你段代码看看(其实代码不是太难懂)。 其实,通过这一步,不仅保证了身份证号码格式的正确性,也基本同时保证了其内容的正确性,因为身份证号的格式与内容相关性很强,校验位正是通过前面各个位置号码的内容来确定的。 综上,通过产品自身检验用户姓名、身份证号格式的正确性,验证成功后,再调用官方系统的数据,就能很好地降低成本、减少验证时间。 (编辑:ASP站长网) |