我正在测试一个应用程序,其中正则表达式模式与信用卡匹配,然后应突出显示这些数字。我正在使用网站http://regexpal.com/为我的测试创建测试信用卡号。我的要求是拥有有效的信用卡号码,其中可以有“-”和/或“,”。当我使用该网站测试它时,我没有成功建立这样的号码
我需要几个信用号码来满足以下场景
- 有效的信用卡号,任意数字之间可以包含“-”。
- 有效的信用卡号,任意数字之间可以包含“,”。
- 有效的信用卡号,任意数字之间可以包含“,”或“-”组合。
最佳答案
常见信用卡供应商正则表达式:
- 美国运通卡:
^3[47][0-9]{13}$
- BCGlobal:
^(6541|6556)[0-9]{12}$
- 全权委托(delegate)卡:
^389[0-9]{11}$
- 大来卡:
^3(?:0[0-5]|[68][0-9])[0-9]{11}$
- 发现卡片:
^65[4-9][0-9]{13}|64[4-9][0-9]{13}|6011[0-9]{12}| (622(?:12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|9[01][0-9]| 92[0-5])[0-9]{10})$
- Insta 支付卡:
^63[7-9][0-9]{13}$
- JCB 卡:
^(?:2131|1800|35\d{3})\d{11}$
- KoreanLocalCard:
^9[0-9]{15}$
- 激光卡:
^(6304|6706|6709|6771)[0-9]{12,15}$
- 大师卡:
^(5018|5020|5038|6304|6759|6761|6763)[0-9]{8,15}$
- 万事达卡:
^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0 -9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$
- 单张卡:
^(6334|6767)[0-9]{12}|(6334|6767)[0-9]{14}|(6334|6767)[0-9]{15 }$
- 切换卡:
^(4903|4905|4911|4936|6333|6759)[0-9]{12}|(4903|4905|4911|4936|6333|6759)[0-9] {14}|(4903|4905|4911|4936|6333|6759)[0-9]{15}|564182[0-9]{10}|564182[0-9]{12}|564182[0- 9]{13}|633110[0-9]{10}|633110[0-9]{12}|633110[0-9]{13}$
- 银联卡:
^(62[0-9]{14,17})$
- Visa 卡:
^4[0-9]{12}(?:[0-9]{3})?$
- Visa Master 卡:
^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14 })$
关于正则表达式信用卡号测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9315647/