正则表达式信用卡号测试

标签 regex regex-greedy

我正在测试一个应用程序,其中正则表达式模式与信用卡匹配,然后应突出显示这些数字。我正在使用网站http://regexpal.com/为我的测试创建测试信用卡号。我的要求是拥有有效的信用卡号码,其中可以有“-”和/或“,”。当我使用该网站测试它时,我没有成功建立这样的号码

http://regexpal.com .

我需要几个信用号码来满足以下场景

  1. 有效的信用卡号,任意数字之间可以包含“-”。
  2. 有效的信用卡号,任意数字之间可以包含“,”。
  3. 有效的信用卡号,任意数字之间可以包含“,”或“-”组合。

最佳答案

常见信用卡供应商正则表达式:

  • 美国运通卡:^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/

相关文章:

Java 正则表达式 : how to capture multiple matches in the same line

php - 我的正则表达式有多糟糕?

regex - 惰性可选量词应该如何表现?

Javascript 正则表达式非贪婪搜索引号

java - 用于在字符串中查找模式的正则表达式

Python 非贪婪正则表达式并不完全符合我的预期

java - 编写一个正则表达式来确定匹配数并提取所需的字符串

regex - Apache 使用 RewriteCond Regex 给出错误 500

java - 如何在正则表达式中捕获多个组?

javascript - 用于验证具有多个字母数字模式的字符串的正则表达式