2011-10-22 120 views

回答

11

差不多。

中国银联和一种大莱卡(enRoute)不使用Luhn验证。 (LazyOne’s answer关于大莱卡错了。)

几乎所有人都这样做。

援引Wikipedia's 'Bank card' page

完全不验证:与卢恩2

  • 大莱卡途中
  • 中国银联

验证:

  • 美国Ë随心
  • 银行卡
  • 大莱卡全权委托
  • 大来国际俱乐部
  • 大莱卡美国&加拿大
  • Discover卡
  • InstaPayment
  • JCB
  • 激光
  • 大师
  • Dankort
  • 万事达
  • 独奏
  • 开关
  • 签证
  • Visa Electron卡
+1

最初问题的关键词是“主流卡片”......中国银联和大莱俱乐部enRoute的奇怪子集似乎不属于“主流”,因此,LUHN将验证“主流卡片”/ – 2015-07-29 15:52:11

+0

是的,并且那些是两张非常普通的信用卡,但不在美国。感谢您的贡献;请祝你有美好的一天。 –

+0

维基页面自您的回答后发生了变化。现在银联似乎也使用Luhn算法来验证卡号。除了维基百科的文章外,我没有其他来源,在2015年3月这一点已经改变。 – reSPAWNed

5

- 适用于所有主流卡类型。

我有一个自定义的PHP类来处理从各种“验证卡号”和类似的功能从少数编程语言+维基百科&一些支付处理系统的信息编译的卡数据。它成功地验证测试卡号码(每个支付系统有几个这样的号码),这些卡类型:

  • VISA借记/贷记
  • VISA电子
  • VISA三角洲
  • 万事达
  • AMEX
  • Maestro
  • Switch
  • Solo
  • 大莱卡
  • 发现
  • JCB
+2

这是不正确的。 Diners Club enRoute不使用Luhn。 –

3

的LUN检查适用于大多数信用卡。这是一个模数10校验位系统,以确保卡号已被准确读取/记录(手动卡片打印机旧版本中的磁条,虚拟终端或手动输入)。

回到手动数据输入的日子,这些检查系统用于确保像UPS的皮卡书号系统这样的按键被准确输入(模数7校验位)。

它甚至用于条形码系统,如代码128,需要将模数103数字添加到编码数据字符串中,以验证代码是否正确读取。

+0

如果其他答案都认为它不适用于所有卡片,则可能需要更改第一句。 –