系统需要开发一功能由用户输入银行卡 或者 存折帐号
目前,银行卡都支持 Luhm 校验,并且可以通过 支付宝的公共接口获取卡号所属银行的信息。
但是,对于银行存折尚未找到有效的 校验方法以确保用户输入的帐号正确,以及根据帐号获取存折所属银行的办法。请问是否有类似需求的开发人员可以提供方法 或者 参考文章,谢谢了。自己测试过的几个存折的规律:
建设银行 29 开头的存折满足 Luhm校验规则
工商银行 19 存折不支持 Luhm校验

解决方案 »

  1.   

    工商银行的活期存折19位的账号,最后两位是检验位。检验位不是最后一位。另大部分农商银行/农村信用社的存折账号有18位存折账号的,校验位也是最后两位,测试了一些没测出用什么数加权的。提供以下存折账号数据方便测试:
    800010121002503924
    800010121002504079
    800010121002504135
    800010121002504288
    800010121002504344
    800010121002504400
    800010121002504553
    800010121002504609
    800010121002504762
    800010121002504818
    800010121002504971
    8000101210025050XX
    800010121002505182
    800010121002505238
    800010121002505391
    800010121002505447
    8000101210025055XX
    800010121002505656
    800010121002505712
    800010121002505865
    800010121002505921
    800010121002506076结束。
      

  2.   

    工商银行的活期存折19位的账号,最后两位是校验位。校验位不是最后一位。另:大部分农商银行/农村信用社的存折账号有18位存折账号的,校验位也是最后两位,测试了一些没测出用什么数进行加权的。提供以下存折账号(全部存折位数)数据方便测试:
    800010121002503924
    800010121002504079
    800010121002504135
    800010121002504288
    800010121002504344
    800010121002504400
    800010121002504553
    800010121002504609
    800010121002504762
    800010121002504818
    800010121002504971
    8000101210025050XX
    800010121002505182
    800010121002505238
    800010121002505391
    800010121002505447
    8000101210025055XX
    800010121002505656
    800010121002505712
    800010121002505865
    800010121002505921
    800010121002506076
    XX代表没算出的校验位。
    结束。