System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及数据处理,尤其涉及身份证号识别方法、系统和相关设备。
技术介绍
1、随着互联网的发展,个人信息的安全越来越受重视。实际情形中,由于网络上公开发布的文本,可能会携带身份证号码,从而导致身份信息等泄露。因此,为预防信息泄露的风险,需要识别出公开发布的文本中的身份证号码,以提示用户注重个人信息安全。
2、然而,传统识别文本中身份证号的方式,是基于正则表达式识别,但正则表达式在匹配文本时,容易因为字符串回溯的问题,导致识别效率低。故针对于此,有必要提供有效的解决方案。
技术实现思路
1、本申请实施例提供了身份证号识别方法、系统和相关设备,用于提高对待测文段中身份证号码的识别效率。
2、本申请实施例第一方面提供一种身份证号识别方法,包括:
3、获取身份证号记录结构;所述身份证号记录结构以公共前缀的形式记录各身份证号码,所述公共前缀指多串身份证号码中存在相同的前序号码;
4、识别待测文段中是否携带所述身份证号记录结构记有的身份证号码,并输出识别结果。
5、可选地,所述身份证号记录结构包括字典树或以公共前缀形式排布的列表。
6、可选地,所述身份证号记录结构为字典树时,所述获取身份证号记录结构包括:
7、按字符排列顺序,将所述各身份证号码中的地区码值转移到地区码字典树的子节点以构成地区码字典树,将所述各身份证号码中的生日日期值转移到生日字典树的子节点以构成生日字典树;
8、在所述地区码字
9、根据宽度优先搜索算法对每一字典树的节点设置失败状态函数fail(n)=m;所述fail(n)=m表示,字典树中根节点到n节点连成的字符值在字典树中对应的最长后缀字符串为,根节点到m节点连成的字符值;对于所述待测文段中相邻出现的前一数字字符、后一数字字符,当所述n节点含所述前一数字字符而所述n节点的子节点未含有所述后一数字字符时,所述fail(n)=m驱使退回所述n节点指向的失败节点m,以基于所述失败节点m查找含所述后一数字字符的节点,直至退回到根节点仍无相匹配的子节点,则确定所述后一数字字符在所述字典树中匹配失败。
10、可选地,所述身份证号记录结构为字典树时,所述识别待测文段中是否携带所述身份证号记录结构记有的身份证号码,包括:
11、根据地区码字典树获取所述待测文段中的地区码值,以及所述地区码值在所述待测文段中的起始位置和终止位置;
12、判断所述起始位置起的第16位字符是否为数字;
13、若是数字,则识别所述终止位置后是否接续有8位数的生日数字、3位数的顺序码及相应的校验码;所述校验码根据所述地区码值、所述生日数字和所述顺序码算得;
14、若不是数字,则识别所述终止位置后是否接续有6位数的生日数字、3位数的顺序码;
15、在识别结果均为是时,确定所述待测文段含有身份证号码。
16、可选地,所述识别所述终止位置后是否接续有8位数的生日数字、3位数的顺序码及相应的校验码,包括:
17、判断所述起始位置起的第19位字符是否为数字,及所述起始位置到第17位的字符串中是否有非数字的字符,若其中一判断结果为是,则确定所述待测文段没有身份证号码;
18、若每一判断结果均为否,则调用最长路径连成的字符串为八位的生日字典树,校验所述地区码值后的8位字符是否为生日数字;
19、若所述终止位置后的8位字符为生日数字,且所述起始位置起的第18数字等于所述校验码,则确定所述待测文段含有由所述地区码值、所述生日数字、所述顺序码、所述校验码组成的18位身份证号码。
20、可选地,识别所述终止位置后是否接续有6位数的生日数字、3位数的顺序码,包括:
21、判断所述终止位置后的9位字符是否均为数字;
22、在均为数字时,调用最长路径连成的字符串为六位的生日字典树,校验所述终止位置后的6位字符是否为生日数字,并在为生日数字时,确定所述待测文段含有由所述地区码值、所述生日数字、所述顺序码组成的15位身份证号码。
23、可选地,所述输出识别结果,包括:
24、输出所述待测文段携带的身份证号码、所述身份证号码在所述待测文段中的位置信息、关联字符中的至少一种结果;所述关联字符包含所述待测文段中与所述身份证号码有预设位置关系的字符。
25、本申请第一方面所述的方法在具体实施时可采用本申请第二方面所述的内容实现。
26、本申请实施例第二方面提供一种身份证号识别系统,包括:
27、获取单元,用于获取身份证号记录结构;所述身份证号记录结构以公共前缀的形式记录各身份证号码,所述公共前缀指多串身份证号码中存在相同的排先号码;
28、处理单元,用于识别待测文段中是否携带所述身份证号记录结构记有的身份证号码,并输出识别结果。
29、本申请实施例第三方面提供一种电子设备,包括:
30、中央处理器,存储器以及输入输出接口;
31、所述存储器为短暂存储存储器或持久存储存储器;
32、所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行本申请实施例第一方面或第一方面的任一具体实现方式所描述的方法。
33、本申请实施例第四方面提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如本申请实施例第一方面或第一方面的任一具体实现方式所描述的方法。
34、本申请实施例第五方面提供一种包含指令或计算机程序的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如本申请实施例第一方面或第一方面的任一具体实现方式所描述的方法。
35、从以上技术方案可以看出,本申请实施例至少具有以下优点:
36、本申请实施例以公共前缀的形式记录各身份证号码,有助于降低对相似身份证号码的存储空间和查询时间,减少待测文段与大量身份证号码之间的字符比较流程,从而加快对待测文段中身份证号码的识别效率,高效预防身份信息泄露。
本文档来自技高网...【技术保护点】
1.一种身份证号识别方法,其特征在于,包括:
2.根据权利要求1所述的身份证号识别方法,其特征在于,所述身份证号记录结构包括字典树或以公共前缀形式排布的列表。
3.根据权利要求1所述的身份证号识别方法,其特征在于,所述身份证号记录结构为字典树时,所述获取身份证号记录结构包括:
4.根据权利要求1或2所述的身份证号识别方法,其特征在于,所述身份证号记录结构为字典树时,所述识别待测文段中是否携带所述身份证号记录结构记有的身份证号码,包括:
5.根据权利要求4所述的身份证号识别方法,其特征在于,所述识别所述终止位置后是否接续有8位数的生日数字、3位数的顺序码及相应的校验码,包括:
6.根据权利要求4所述的身份证号识别方法,其特征在于,识别所述终止位置后是否接续有6位数的生日数字、3位数的顺序码,包括:
7.根据权利要求4所述的身份证号识别方法,其特征在于,所述输出识别结果,包括:
8.一种身份证号识别系统,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机
...【技术特征摘要】
1.一种身份证号识别方法,其特征在于,包括:
2.根据权利要求1所述的身份证号识别方法,其特征在于,所述身份证号记录结构包括字典树或以公共前缀形式排布的列表。
3.根据权利要求1所述的身份证号识别方法,其特征在于,所述身份证号记录结构为字典树时,所述获取身份证号记录结构包括:
4.根据权利要求1或2所述的身份证号识别方法,其特征在于,所述身份证号记录结构为字典树时,所述识别待测文段中是否携带所述身份证号记录结构记有的身份证号码,包括:
5.根据权利要求4所述的身份证号识别方法,其特征在于,所述识别所述终...
【专利技术属性】
技术研发人员:王欢,陈扬,戴裕文,陈明哲,许丹昊,杨建明,
申请(专利权)人:深圳证券信息有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。