python判断信用卡号是否合法_怎么使用 Python 校验银行卡号码是否有效-阿里云开发者社区...

最近在公司有一个 fakedata 的项目,用来生成各类假数据,在各种测试环境,其中就有银行卡卡号的生成,中国这方面是有自己的标准的,详细的介绍可以参考这篇文章,写的很清楚。

简单来说,就是国内的银行卡卡号,主要都是银联标准,然后前面的4-8位称之为卡 bin,这个卡 bin 是可以区分是具体哪个银行,以及是否是借记卡还是贷记卡(信用卡),关键是最后一位校验位。

从校验卡号的角度来说,可以在应用的尽量前端进行判断,如果卡号校验错误,就不用去进行四要素判断,更不能进行实际的账户交易了。校验码对了,再根据卡 bin 判断是什么银行和什么性质的银行卡(这个下次再说)。

这里只讨论银行卡号码本身的合法性,并不是通常意义说的三要素四要素银行卡和身份证的校验。

def get_bankcard_checkcode(card_number_str):

"""

计算银行卡校验位;

:param:

* card_number_str: (string) 要查询的银行卡号

:returns:

checkcode: (string) 银行卡的校验位

举例如下::

from fishbase.fish_data import *

print('--- fish_data get_bankcard_checkcode demo ---')

# 不能放真的卡信息,有风险

print(get_bankcard_checkcode('439188000699010'))

print('---')

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值