发布网友 发布时间:2022-04-23 03:25
共1个回答
热心网友 时间:2023-08-19 12:36
按身份证校验码算法如果算出18位身份证号码的最后一位校验码是10,就用罗马数字的Ⅹ代替(并不是英文字母X和x)。
*搞这个东东出来,真是个大麻烦,而现在身份证上这个校验码有的打成大罗马数字Ⅹ,有的打成小罗码数字ⅹ,也不统一,这两个的ASCII码值又不同,一个是8553,一个是8569,对计算机系统来说这完全是两个不同的身份编号。真是乱套了。大多数柜员在受理业务须审查身份证件时,遇到身份证号码最后一位带有罗马数字Ⅹ或ⅹ的,需在系统中录入的,都是用英文字母X或x替,细心点的身份证上打印的是大罗马数字的就录入小写英文字母X,小罗马数字的就录入小写英文字母x,马虎的就不分,大小写乱录。这又给统版需要审查客户身份证件的交易造成一定麻烦,大小写录入不对,主机会提示证件不符,导致交易失败。并且存在的一个问题是产生一个身份证号码可能生成多个客户号,持这种身份证编号带有X的客户第一次开户时,身份证号码最后一位如果录入的是英文大写字母X,产生一个客户号,接下来再开户时,如果录入的是小写,又产生一个新的客户号。
现在我们要在统版中新增加15位身份证号码升级为18位的功能,不可不注意以下几个问题:
①转换出来的罗马数字X与客户证件上的罗马数字大小写不一,如转换出来校验码是大写罗马数字,而客户所持身份证件是小写罗马数字。
②转换出来最后一位校验位是罗马数字,与之前存在的18位身份证号码(最后一位录入英文字母X或x)不同。这会产生两个不同的客户号。
③终端要输个罗马数字又很难,并且大家也把这个罗马数字认作英文字母,这给这些客户以后的业务办理也会带来一定的麻烦,总不会每次在为这些客户办理须审查身份证号码的交易都按ALT+8553或ALT+8569输入X吧。并且还要考虑其它外围系统不支持的问题。所以建议对这个特殊校验码的输入能给予规范。
方案有三:
一是全部以大写罗马数字Ⅹ代替,录入时按住ATL在小键盘中输入8553。这要加强培训,纠正错误,告之以正确方法,当然也会存在培训不到,柜员不知道的情况,加上其它外围系统,有难度;
二是全部强制以大写英文字母X代替。将错就错,按大家的习惯来办;
三是以英文字母X代替,系统对这个的检验不分大小写。不管录入的是大小写,都辨为一个证件号码,只产生一个客户号。