c# - 使用正则表达式验证信用卡?

标签 c# credit-card verification

使用正则表达式验证信用卡的正确方法是什么?如果使用哪一个,网上有很多。如果不是如何验证?

最佳答案

请参阅此链接 Finding or Verifying Credit Card Numbers使用正则表达式

  • Visa:^4[0-9]{12}(?:[0-9]{3})?$ 所有 Visa 卡号都以 4 开头。新卡有 16 位数字。旧卡有 13 个。
  • 万事达卡:^5[1-5][0-9]{14}$ 所有万事达卡卡号都以数字 51 到 55 开头。全部都是 16 位数字。
  • American Express:^3[47][0-9]{13}$ American Express 卡号以 34 或 37 开头,共有 15 位数字。
  • Diners Club:^3(?:0[0-5]|[68][0-9])[0-9]{11}$ Diners Club 卡号以 300 到 305、36 或 38 开头。都是 14 位数字。有以 5 开头并有 16 位数字的 Diners Club 卡。这些是 Diners Club 和 MasterCard 的合资企业,应该像 MasterCard 一样处理。
  • Discover: ^6(?:011|5[0-9]{2})[0-9]{12}$ Discover 卡号以 6011 或 65 开头。都是 16 位数字。
  • JCB:^(?:2131|1800|35\d{3})\d{11}$ 以 2131 或 1800 开头的 JCB 卡有 15 位数字。以 35 开头的 JCB 卡有 16 位数字。

再见。

关于c# - 使用正则表达式验证信用卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1463252/

相关文章:

c# - 通过畸变矩阵从鼠标转换光线

c# - 使用 DropdownFor 将 null 作为默认值传递

android - 如何使用 MagTek 读卡器设备的 sdk for android?

payment-gateway - 如何测试新的万事达卡?

clojure - 我可以在 Clojure 中混合后置条件和递归函数吗?

c# - 捕获进度条值 onMouseClick

c# - 重复文本的 Selenium 测试

ios - 错误 - Paypal 中的 "The merchant does not accept payments of this type"

validation - 只允许在网站上注册 'business' 电子邮件地址

email - 在 Meteor 中生成验证 token 而不发送电子邮件?