支持 19 位 Visa 和 Discover 卡验证的正则表达式模式 [关闭]

2024-01-02

目前我正在使用以下正则表达式,但它们不支持 Visa 和 Discover 的 19 位卡。请帮忙。

 visaCardPattern: /^4[0-9]{12}(?:[0-9]{3})?$/

discoverCardPattern: /^6(?:011|5[0-9]{2})[0-9]{12}$/

对于 VISA - 您所要做的就是简单地选择[0-9]小组赛一场或两次。

^4[0-9]{12}(?:[0-9]{3}){0,2}$

本质上,这与您已经拥有的正则表达式相同,除了可选的[0-9]{3}小组现在有 3 种可能的结果 -

  • 根本不匹配 - 13 位 VISA
  • 匹配一次 - 16 位 VISA
  • 它被匹配两次 - 19 位 VISA

查看演示here https://regex101.com/r/OYxK2o/1

对于发现卡 - 更简单,您只需添加一个上限[0-9]{12}.

由于发现卡的长度可以在 16 到 19(含)之间,因此您只需将正则表达式更改为-

^6(?:011|5[0-9]{2})[0-9]{12,15}$

这与您自己的正则表达式相同,除了最后的0-9小组现在有以下成果——

  • 匹配 12 次 - 总长度为 16
  • 匹配 13 次 - 总长度为 17
  • 匹配 14 次 - 总长度为 18
  • 匹配 15 次 - 总长度为 19

查看演示here https://regex101.com/r/w4Y7KK/1/

Note:这是假设发现卡的长度可以在 16 到 19 之间,而不是 16 或 19。有些消息来源说它可以有介于两者之间的任何长度,而有些消息来源说它只能有 16 或 19。

我不是信用卡专家,但为了完整起见,我将包含一个正则表达式来匹配发现卡的 16 或 19 -

^6(?:011|5[0-9]{2})(?:[0-9]{3}){4,5}$

这一场与决赛相匹配[0-9]以 4 人为一组,结果如下:

  • 匹配了 4 次 - 总共 16 位数字
  • 匹配了 5 次 - 总共 19 位数字

查看演示here https://regex101.com/r/w4Y7KK/3

编辑:对于万事达卡,你可以尝试这个-

^(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)(?:[0-9]{3}){4,5}$

和discover卡的方法一模一样,只要匹配最后的即可[0-9]以 3 人为一组,并匹配 4 或 5 次。 (也称为 4 次总共 16 位数字和 5 次总共 19 位数字)

查看演示here https://regex101.com/r/4rCypX/1/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

支持 19 位 Visa 和 Discover 卡验证的正则表达式模式 [关闭] 的相关文章

  • Angular 模态对话框最佳实践

    与不具有动态内容的对话框相比 创建具有动态内容的模式对话框的最佳实践是什么 例如 我们有一些模式表单接受表单元素列表 并具有提交 取消功能 此外 还有一些模式对话框仅显示确认 确定类型的操作 我见过很多人说对话框应该是传递到控制器的服务 但
  • 如何知道在Angular JS中选择了哪个元素

    我制作了多个选定的弹出窗口 用户可以在其中选择多个值 我想在屏幕上打印所有选定的值或获取一个对象 其中包含用户选择的所有元素 我将换句话说 在我的演示中 我在屏幕上有一个按钮 单击按钮时 我会打开一个弹出窗口 其中有多个选定的元素我想获取用
  • 正则表达式获取字符串中的第一个数字和其他字符

    我是正则表达式的新手 想知道如何才能只获取字符串中的第一个数字 例如100 2011 10 20 14 28 55 在这种情况下 我希望它返回100 但该数字也可以更短或更长 我在想类似的事情 0 9 但它单独获取每个数字 100 2001
  • 将html数据解析成python列表进行操作

    我正在尝试读取 html 网站并提取其数据 例如 我想查看公司过去 5 年的 EPS 每股收益 基本上 我可以读入它 并且可以使用 BeautifulSoup 或 html2text 创建一个巨大的文本块 然后我想搜索该文件 我一直在使用
  • netsh 结果到 PowerShell 对象

    我正在尝试与NETSH https ss64 com nt netsh html来自 PowerShell 我想看到这个命令的结果 例如一个对象 但是netsh返回一个字符串 netsh wlan show hostednetwork Ge
  • 扩展 RegExp 以获取文件扩展名

    我知道 已经有很多基于 RegExp 的解决方案 但是我找不到适合我需求的解决方案 我有以下函数来获取 URL 的各个部分 但我还需要文件扩展名 var getPathParts function url var m url match w
  • 使用 ng-table 角度计算列的总和

    我正在使用 Angular ng table 以表格形式绘制数值数据 我无法弄清楚如何在表末尾引入一行 该行显示每列所有值的总和 我可以在服务器端计算数据并将其呈现在用户界面中 但有没有办法在 ng table ng grid 中实现这一点
  • 这个巨大的正则表达式是如何工作的?

    我最近在我的一个目录中的一个名为的文件中找到了下面的代码doc php 文件功能或链接到文件管理器 做得非常好 基本上 它列出了当前目录中的所有文件 并且允许您更改目录 它可以访问我的所有文件 添加 重命名 信息 删除 我不记得安装过它 我
  • 从字体到跨度(大小和颜色)和背面的正则表达式(VB.NET)

    我正在寻找一个正则表达式 可以将我的字体标签 仅具有大小和颜色属性 转换为具有相关内联CSS的span标签 如果有帮助的话 这将在 VB NET 中完成 我还需要一个正则表达式来实现相反的效果 下面详细说明的是我正在寻找的转换示例 font
  • AngularJS中$scope和scope的区别

    我是 AngularJS 的新手 我想知道有什么区别 scope在 angularjs 控制器中和scope在 angularjs 指令中 我尝试在控制器中使用范围 但出现以下错误 错误 injector unpr 未知提供程序 scope
  • sed 错误“未终止的 's' 命令”故障排除

    我正在构建一个script https stackoverflow com questions 4036832 replacing a specific term in an xml file其中 它将用文件夹路径替换 XML 文件中的模式
  • 使用命名的成功/错误回调在 AngularJS 中声明一个 Promise

    我正在尝试做一些与 http 服务非常相似的事情 根据我的理解 http 返回一个 Promise 对象 使用它时 语法是 http success function data success callback error function
  • 如何通过保持目录结构完整来同步路径中匹配模式的文件?

    我想将所有文件从服务器 A 复制到服务器 B 这些文件在不同级别的文件系统层次结构中具有相同的父目录名称 例如 var lib data sub1 sub2 commonname filetobecopied foo var lib dat
  • angularjs:如何向资源对象添加缓存?

    在 http 中添加缓存非常简单 通过传递cache true http docs angularjs org api ng http https docs angularjs org api ng service 24http有缓存选项
  • 如何从 jQuery 对话框按钮访问我的角度范围?

    http plnkr co edit Rf0VItthVBg6j0z7KudO http plnkr co edit Rf0VItthVBg6j0z7KudO 我正在使用 jQuery 对话框 并且想要使用对话框按钮 但我不知道如何获取范围
  • 将 visjs 网络导出为 jpeg/png 图像

    我正在研究 Angular vis js Vis js 在画布上工作 用于创建节点和节点之间的链接 有没有办法从 visj s 画布中获取图像 jpeg png 看看这个片段 我想它会对你有所帮助 在 vis 画布下 您将看到一个 PNG
  • Perl:正则表达式不抓取代码中的多行 C 风格注释

    我有一个 Perl 程序 读取用 C 编写的 SRC 文件 使用 SRC 文件中的正则表达式匹配来查找特定格式的数据以用作目标文件名 打开新的目标文件 执行另一个正则表达式匹配以查找包含关键字 abcd 的所有 C 风格注释 注意 这些注释
  • 检测两个正则表达式是否可能匹配相同的字符串[重复]

    这个问题在这里已经有答案了 给定两个正则表达式 是否可以检测是否存在与它们都匹配的可能字符串 例如 给定正则表达式A and 我可以看到那个字符串 A 匹配他们两个 这是一个简单的案例 我的问题是针对更广泛的情况 给定任何两个有效的正则表达
  • 从字符串中获取数字

    我有一个字符串 例如 lorem 110 ipusm 我想获取 110 我已经尝试过这个 preg match all 0 9 string ret 但这正在返回 Array 0 gt 1 1 gt 1 2 gt 0 我想要这样的东西 Ar
  • 如何在 gulp.src 中使用基本正则表达式?

    我正在尝试选择两个文件gulp src highcharts js and highcharts src js 当然 我知道我可以使用数组表达式显式添加这两个表达式 但出于学习目的 我尝试为它们编写一个表达式 我读过可以使用简单的正则表达式

随机推荐

  • 逻辑应用程序读取存储在变量中的json属性

    我在逻辑应用程序变量中有这个 json 我想要这个 JSON 的 id 属性并进一步使用 如何获取这个id属性值 我的 JSON 是 id 1 name John bright username Lily email email prote
  • 如何在ajax响应返回的脚本标签内执行javascript

    我正在发送一个 jquery get 请求 如下所示 get this attr href this serialize null script 我期望收到的响应将包含在脚本标签中 我知道浏览器不会执行响应 除非它返回时没有脚本标记 通常我
  • 元素 中“Project”属性的值“”无效。 vs2012

    我在尝试在 Visual Studio 2012 中加载某些项目时收到以下错误 G path project csproj error The value of the Project attribute in element
  • 如何在 VS Code 上设置 AngularDart5

    我已经广泛搜索了有关如何在 Visual Studio Code 上有效设置 Angular Dart 5 的文档 但到目前为止没有发现任何结论 我已经搜索过的地方 Youtube 堆栈溢出 https webdev dartlang or
  • Maven 与查询 DSL 集成

    我正在尝试将 Maven 中的现有项目与查询 dsl 集成 我添加了如下依赖项
  • .Net Core 中的 PagedList.Core.Mvc PagedListPager Html 扩展不存在

    似乎是PagedList Core不包含 Html helper 的扩展方法 所以我无法使用下面的代码 Html PagedListPager Model page gt Url Action Index new page PagedLis
  • 加载实体时的 nhibernate 竞争条件

    我的网络应用程序中存在休眠竞争条件问题 我知道在使用旧版本的 log4net 时会发生这种情况 应该在 1 2 10 中修复 尽管我也经历过这种情况 因此 我们暂时禁用了 log4net 因为竞争条件会导致 IIS 崩溃 并且在生产中发生这
  • Bazel 的 Mingw-w64 工具链 (Ubuntu 20.04.1 )

    我正在尝试使用 Bazel 在 Ubuntu 上为 mingw w64 创建工具链 我正在关注这个教程 https docs bazel build versions master tutorial cc toolchain config
  • 按 Enter 键后调用 onChange 事件

    我是 Bootstrap 的新手 并遇到了这个问题 我有一个输入字段 只要我输入一位数字 函数就会onChange被调用 但我希望当我输入整个号码后按 Enter 时调用它 验证函数也有同样的问题 它调用得太快 var inputProce
  • 在表格视图中组合静态和原型内容

    有没有办法使用故事板将静态表格视图单元格 静态内容 与动态表格视图单元格 原型内容 结合起来 我建议您将表格视为动态表格 但在顶部包含您始终想要的单元格 在故事板中 放置一个UITableViewController并让它使用动态表 添加任
  • 使用 Robolectric 和 Mockito 测试 CursorLoader

    鉴于我正在开发一个简单的 ListFragment 在本例中 它从 MediaStore 读取艺术家列表 但稍后也会从不同的源读取数据 如下所示 EFragment public class ArtistsFragment extends
  • 如何将 SQL 查询返回值绑定到 psql 变量?

    背景 我正在写我的第一篇文章pgTAP http pgtap orgPL pgSQL 函数的测试用例 并从小处开始使用 psql 测试脚本 没有问题 但我遇到了一个小烦恼psql变量 http www postgresql org docs
  • ARM 的加载和存储字节和半字指令如何工作?签名与未签名有何作用?

    我刚刚开始学习 ARM 但无法理解加载和存储指令的确切作用 加载说明 ldrsb ldrb ldrsh ldrh ldr 店铺说明 strb strh str 有符号或无符号 加载半字 是什么意思 或者 加载字节 有符号或无符号 有符号和无
  • 2018 年底起的目标 API 级别要求

    我不知道这是否是询问以下问题的正确地方 我在 google play 开发者控制台上读到 2018 年下半年 Play 将要求新应用程序和应用程序 更新针对最新的 Android API 级别 这将需要 2018 年 8 月推出新应用程序
  • 使用 JPA 进行更新时如何排除实体字段

    有没有办法使字段在更新操作时不持久 但在使用 JPA Hibernate 4 创建操作时持久 我用这种方式尝试过 Transient Id Column name USER NAME nullable false length 75 pri
  • 在用户控件中处理画笔的更好方法是什么

    在 Paint 事件中使用新画笔是否是更好的方法 即 protected override void OnPaint PaintEventArgs e e Graphics SmoothingMode SmoothingMode AntiA
  • 替换整行会导致替换文本重复出现

    简单的问题 为什么 x replace y 产生 yy x replace y 相当于 Regex replace x y 结果yy您看到的内容基于其工作原理 根据 MSDN 在指定的输入字符串中 替换所有字符串匹配一个 具有指定替换字符串
  • 与平台无关的文件锁定?

    我正在进行一项计算量非常大的科学工作 时不时地会得出结果 这项工作基本上就是多次模拟同一件事 因此它被分配到使用不同操作系统的多台计算机上 我想将所有这些实例的输出定向到同一个文件 因为所有计算机都可以通过 NFS Samba 查看相同的文
  • 在 R 中使用 fromJSON 时处理 NaN

    我正在尝试使用 R 中的 fromJSON 函数来读取给我的 JSON 文件 但是该文件有NaN在其中 我无法正确读取它 这是我得到的错误 Error in feed push parser buf lexical error invali
  • 支持 19 位 Visa 和 Discover 卡验证的正则表达式模式 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 目前我正在使用以下正则表达式 但它们不支持 Visa 和 Discover 的 19 位卡 请帮忙 visaCardPattern 4 0