首页 文章

我应该收集和存储信用卡类型(例如Visa)还是通过号码确定?

提问于
浏览
2

我正在编写用于将信用卡输入数据库的代码 . 我知道有正则表达式可用于确定卡的类型(Visa,MasterCard等) . 例如,Visa的正则表达式是 /^4[0-9]{12}(?:[0-9]{3})?$/ . 我只处理Visa,MasterCard,Discover Card和American Express,没有其他卡支持 .

我的问题是:我应该从用户那里收集卡片类型并将其存储在数据库中,还是从卡片编号中获取卡片类型,而不是将其存储在数据库中?换句话说,有没有例如Visa卡与正则表达不匹配但仍然是Visa卡的情况?

这不是关于Luhn检查,而是关于确定卡类型的正则表达式 .

1 回答

  • 1

    有没有例如Visa卡与正则表达不匹配但仍然是Visa卡的情况?

    是的,签证表达限制为13或16位,实际上Visa的范围从13到19位,尽管16是迄今为止最常见的 .

    我应该从用户那里收集卡片类型

    这里将对此进行深入讨论:Why do credit card forms ask for Visa, MasterCard, etc.?

    当您发表评论时,您遇到了错误的用户输入问题,我根本不会问他们使用的是什么,并使用一组简单的前缀和长度正则表达式来识别卡的类型 . 然后,您可以将此值存储在数据库中,以便为将来的查询目的再次导出它 .

相关问题