Python判断给定的字符串是否是有效的银行卡号

2022-03-15 00:00:00 字符串 给定 卡号

银行卡的卡号是有一定的编号规则的,并非随意生成,下面这个python函数用于判断给定的银行卡号是否有效。

def is_valid_bank_card(card_number):
    """检查是否是有效的银行卡卡号,编写:pidancode.com"""

    def digits_of(n):
        return [int(d) for d in str(n)]

    result = False
    digits = digits_of(card_number)
    odd_digits = digits[-1::-2]
    even_digits = digits[-2::-2]
    checksum = 0
    checksum += sum(odd_digits)
    for d in even_digits:
        checksum += sum(digits_of(d * 2))
    t = checksum % 10
    if t == 0:
        result = True
    return result

此函数可以判断指定的银行卡号是否有效,包括信用卡和借记卡。
代码在python3.9下测试通过。

相关文章