首页 > 项目中身份证有效期的判断规则

身份证有效期设置规则,项目中身份证有效期的判断规则

互联网 2021-03-01 17:19:12

最近做项目要用到判断身份证有效信息,但是又无法调用公安系统接口获取有效期、身份证号码等信息,于是在系统中做了如下处理来判断,来处理有效期规则和防止有效期、身份证号码等规则被篡改:

1)、首先判断身份证有效期截止日期是否是“长期”,若为长期且当前年份减去身份证号码里出生日期年份>=46(岁)则直接当作未过期来处理(因为仅在年龄>=46时身份证有效期才可能会为“长期”);

2)、若有效期截止日期不是长期,则继续和本地服务器当前时间判断,若有效期截止日期在本地服务器当前时间之前,返回过期:

3)、若有效期截止日期在本地服务器当前时间之后,继续以下判断:

STEP1:系统根据“主卡证件有效起始日期”及“主卡证件有效截止日期”栏位的差值计算主卡人持有的是5年/10年/20年/长期/临时的身份证,记为值A若“主卡证件有效截止日期”栏位值前4位-“主卡证件有效起始日期”栏位值前4位=5,则A=5;若“主卡证件有效截止日期”栏位值前4位-“主卡证件有效起始日期”栏位值前4位=10,则A=10;若“主卡证件有效截止日期”栏位值前4位-“主卡证件有效起始日期”栏位值前4位=20,则A=20;若“主卡证件有效截止日期”栏位值前4位-“主卡证件有效起始日期”栏位值前4位〉20,则A=长期;若“主卡证件有效截止日期”栏位值前4位-“主卡证件有效起始日期”栏位值前4位=0或=1,则A=0或=1;STEP2:系统根据主卡人的“出生日期”及“主卡证件有效起始日期”计算主卡人办理身份证时的年龄(周岁),记为值BB=(“主卡证件有效起始日期”栏位值—“出生日期”栏位值)/10000后的整数部分STEP3:若值A与值B不满足以下关系,则有效期无效;当A=5时,B=46;当A=0或A=1时,B可为任意值;STEP4:当A≠5且A≠10且A≠20且A≠长期且A≠1且A≠0时,则有效期无效;STEP5:A=5或A=10或A=20时,若“主卡证件有效起始日期”和“主卡证件有效截止日期”月日不是一一匹配,则有效期无效。
免责声明:非本网注明原创的信息,皆为程序自动获取自互联网,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如此页面有侵犯到您的权益,请给站长发送邮件,并提供相关证明(版权证明、身份证正反面、侵权链接),站长将在收到邮件24小时内删除。

相关阅读