问题标签 [luhn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
121 浏览

paypal - PayPal Pro:信用卡验证真的有必要吗?

由于 PayPal 收取交易费用而不是支付授权费用,我想知道使用 Luhn 算法进行信用卡验证有什么意义?

我碰巧在 CC 验证方面遇到了麻烦。如果事实证明它不是很重要,我可以简单地摆脱它来解决我的问题。

0 投票
1 回答
1253 浏览

java - Java中的Luhn Check程序计算不正确

我在 Java 中创建了这个 Luhn 检查(或 Mod 10 检查),偶数和奇数的总和没有正确加起来,我不知道为什么。当我单独写出一个部分时它起作用了,而且它似乎工作正常。作为具有所有其他方法的整个程序,它不起作用。有人有想法么?

输入数字 4388576018410707 应该是有效的。

0 投票
2 回答
732 浏览

php - Luhn算法问题

我决定使用 Luhn 算法来验证一些瑞典的社会安全号码。通过自己编写函数,我得到了按计划工作,尽管存在一些问题。使用我的代码和我尝试过的其他代码,我发现它仍然可以验证简单的组合,例如 2222222222 和 4444444444 是有效的。

这两个例子很容易避免,但它让我想知道其余的组合是假的,但仍然通过使用算法验证为真。

是我,以及我看过的那些例子,是代码出了问题,还是算法的已知错误?如果是这样,我该如何解决,或者是否有其他更合适的方法?

0 投票
1 回答
39885 浏览

e-commerce - 通过卡号识别是“信用卡”还是“借记卡”

我最初可以通过执行 Luhn 检查算法来检查我是否有有效的支付卡号。

但随后我需要确定它是信用卡还是借记卡以相应地执行下一个任务。我知道这取决于前四个字符,但我不确定确切的范围。

如果有人可以解释或提供解释这将是伟大的链接。谢谢。

编辑...

在这两个 stackoverflow 链接中,我都没有看到我的问题得到解答。因此,这不能与其中任何一个重复。

在我的情况下,它不使用读卡器读取卡,而是使用卡号、CVV 和到期日期来完成付款(用户插入这些东西)。

同样“是的”,我可以检查一下它是 Visa 卡、万事达卡还是美国运通卡。但没有办法找到它是一张Credit还是一张Debit卡。(例如,如果这张卡是一张Visa卡,那么我怎么知道Visa卡是一张“信用卡”还是一张“借记卡”。这就是确切的问题) .

0 投票
4 回答
3104 浏览

java - 将 ISBN10 转换为 ISBN13

我尝试使用 Java 将 ISBN10 代码转换为 ISBN13 数字。从 。在isbn-13.info 上,我找到了转换它们的方法。

示例:0-123456-47-9

  • 以“978”前缀开头</li>
  • 使用 ISBN 的前九个数字字符(包括破折号)978-0-123456-47-
  • 使用“Mod 10 算法”978-0-123456-47-2 计算 EAN 校验位

使用它,我创建了一个 Java 程序来进行转换。

对于示例 ISBN10 代码9513218589978951321858没有支票号码的 ISBN13),它返回 5 作为支票号码。如果我使用ISBN 官方网站上的转换器计算它,我得到 4 作为校验和。出于某种原因,新代码中的数字总和比应有的小一。

我已经为此奋斗了很长时间,我相信我已经开始盲目:我只是找不到我做错了什么。有人可以帮忙吗?

0 投票
3 回答
1144 浏览

ruby - Ruby 中的 Luhn 算法

我一直在尝试在 Ruby 中实现 Luhn 算法,但不断收到错误消息,即 nil 不能被合并到 Fixnum 中。

Luhn 算法应该:

从倒数第二个数字开始,每隔一个数字加倍,直到到达第一个数字

将所有未触及的数字和两位数相加(两位数需要分开,10变成1 + 0)

如果总数是十的倍数,则您已收到有效的信用卡号!

这就是我所拥有的:

0 投票
1 回答
1752 浏览

regex - 用于检测信用卡号的算法减少误报/负数

我想创建一种算法,可以从各种类型的文件中检测信用卡号 (CCN)。

如何查找 CCN 的简单场景是使用定义的正则表达式:

  1. Visa:^4[0-9]{12}(?:[0-9]{3})?$所有 Visa 卡号均以 . 开头 4。新卡有 16 位数字。老牌有13张。
  2. 万事达卡:所有万事达卡号码都以^5[1-5][0-9]{14}$数字开头。都有 16 位数字。5155
  3. 美国运通:^3[47][0-9]{13}$美国运通卡号以34或开头,37有 15 位数字。
  4. Diners Club:^3(?:0[0-5]|[68][0-9])[0-9]{11}$Diners Club 卡号30030536开头38。都有 14 位数字。5有以16 位数字开头的大来卡。这些是大来卡和万事达卡的合资企业,应该像万事达卡一样处理。
  5. 发现:^6(?:011|5[0-9]{2})[0-9]{12}$发现卡号以6011或开头65。都有 16 位数字。
  6. JCB: JCB 卡以或 有 15 位数字^(?:2131|1800|35\d{3})\d{11}$开头。以开头的 JCB 卡有 16 位数字。2131180035

然后我们可以用 Luhn Mod-10 算法检查找到的数字,如果它满足条件,我们可以说我们找到了 CCN。

但是根据我的经验,这种简单的方法有很多误报/否定。

可以使用哪些算法或启发式方法来减少误报/误报匹配?PCI Data Finder 或 Card Recon 等高级软件提供了更可靠的结果,而这些结果绝对不是通过简单的正则表达式查找和 Luhn 检查来实现的。

0 投票
4 回答
1282 浏览

ruby - Luhn 算法 - 为假信用卡返回真值

我的代码有一点问题,看看信用卡号是否符合 Luhn 算法。当信用卡可被 10 整除时,代码返回 true,但当 CC 编号不能被 10 整除时,代码也返回 true。我已打印出最终总和以确保这些数字实际添加到 sum 变量中,并且他们似乎是.. 下面是我的代码。我知道它可以更干净,但在这个阶段,我希望先看到它工作。

以下是它的调用方式:

0 投票
3 回答
3695 浏览

javascript - 关于如何使用 Javascript 对 Luhn 信用卡验证进行编码的建议?

我刚开始学习 Javascript 时非常糟糕。我正在对一张 16 位数的信用卡进行 Luhn 检查。这让我发疯了,如果有人看过它并能给我一些帮助,我将不胜感激。

0 投票
1 回答
2386 浏览

c# - 无法使用 Luhn 算法验证信用卡

我在使用 Luhn 算法验证信用卡时遇到问题。

我正在使用这个 c# 代码:

这在 aspx 中:

我总是遇到错误,因为我没有从 .aspx 到 c# 或其他东西的值。这是我得到的具体错误:

说明:编译服务此请求所需的资源时出错。检查以下特定错误详细信息并适当修改您的源代码。

编译器错误消息:CS1061:“ASP.controls_midtermucc_ascx”不包含“服务器验证”的定义,并且没有找到接受“ASP.controls_midtermucc_ascx”类型的第一个参数的扩展方法“服务器验证”(你是缺少 using 指令或程序集引用?)

我需要做什么?