使用正则表达式验证信用卡的正确方法是什么?如果使用哪一个,网上有很多。如果不是如何验证?
最佳答案
请参阅此链接 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/