问题标签 [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 投票
0 回答
79 浏览

mysql - 使用 AUTO_INCREMENT 通过单个查询将许多记录插入 MySQL 表

我希望能够使用单个查询将大量顺序记录插入带有AUTO_INCREMENT字段的表中,将另一个字段的值设置为所有插入行的常量值。

示例

我想将所有这些设置CheckDigit为开始0然后从.First15

我想像这样的查询:

Where(...)创建无限的行或类似的集合。

0 投票
3 回答
227 浏览

java - 我正在为 eimacs 使用 Java 中的 Luhn 算法

这是针对我的 AP 计算机编程课程的,我对我的代码有什么问题感到迷茫。我的另一位编程老师基本上看不出我的代码有什么问题,我尝试了各种不同的代码集来工作,但都没有。但是,此代码似乎最有可能起作用。

我究竟做错了什么。这是即将出现的错误

线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:4

在 TC1.work(TC1.java:24)

在 TC1.main(TC1.java:12)

0 投票
2 回答
3708 浏览

java - 使用 Luhn 算法 (Java) 的信用卡号有效性

我正在做一项学校作业,使用 Luhn 算法检查输入的信用卡号是否有效。

1954 年,IBM 的 Hans Luhn 提出了一种验证信用卡号码的算法。该算法可用于确定卡号是否输入正确或信用卡是否被扫描仪正确扫描。信用卡号是在这个有效性检查之后生成的,通常称为 Luhn 检查或 Mod 10 检查,可以描述如下(为了说明,考虑卡号4388 5760 1840 2626):

  1. 从右到左每隔一个数字加倍。如果一个数字加倍得到两位数,则将两位数相加得到一位数。

  2. 现在添加步骤 1 中的所有个位数:4 + 4 + 8 + 2 + 3 + 1 + 7 + 8 = 37

  3. 将卡号中奇数位的所有数字从右到左相加:6 + 6 + 0 + 8 + 0 + 7 + 8 + 3 = 38

  4. 将步骤 2 和步骤 3 的结果相加:37 + 38 = 75

  5. 如果第 4 步的结果能被 10 整除,则卡号有效;否则无效。例如,号码4388 5760 1840 2626无效,但号码4388 5760 1841 0707有效。

我需要使用我编写的代码中的方法来编写这个程序:

我两个月前才开始学习如何编程,所以我对此还很陌生。该程序无法编译,我不知道为什么以及我必须做些什么来解决这个问题。我知道已经发布了类似的主题,我一直在使用这篇文章来帮助指导我。有人可以帮助学生指出正确的方向并让我知道我做错了什么吗?

0 投票
1 回答
598 浏览

java - 卢恩算法

a) 从校验位开始向左移动,计算所有解码数字的总和。b) 使用整数除以 10 计算和的余数。如果结果不为零,则信用卡号无效。否则,卡号很可能是有效的。

这里有两个例子:

编写一个名为 checkDigits 的静态方法,传递一个七位数的信用卡号码并执行上述步骤。重用您在实验 5.5.1 中编写的解码方法。如果数字通过测试,该方法应该返回单词“valid”,否则返回“invalid”。

输出:

我得到所有数字的真实/有效答案。我找不到我的错误。帮助!

0 投票
1 回答
695 浏览

ruby-on-rails - Luhn算法Ruby无法识别AMEX

所以我在应用 Luhn 算法时遇到了一些问题以下是一般规则: http: //www.codeproject.com/Tips/515367/Validate-credit-card-number-with-Mod-algorithm

这是我的代码

它适用于大多数卡

但是当谈到这个

美国运通:37828224631000(无效)

由于某种原因,我的代码说它无效,但它应该根据官方测试卡列表。

我已经看到了许多其他代码正在运行,但我想纠正错误并理解我的错误。我会很感激一些解释为什么它会这样工作。

0 投票
1 回答
980 浏览

sql - 可以在 Postgres 中没有外部/自定义函数的情况下实现 Luhn(信用卡号哈希)吗?

剥离字符串的最后一位并将其反转......这些从 Postgres 到 Oracle 到其他任何东西都有所不同,但很容易完成。

这个查询片段大约是一半:

剩下的唯一一件事就是对所有数字求和,然后对它们取模 10。但是,当我尝试这样做时:

我收到以下错误:

请注意,如果我删除总和,如下所示:

我会得到这个:

如果我能算出总和,那check (n%10 = right('6011406981867628',1))我就完了。

是否可以对这些进行 sum() ?

0 投票
1 回答
48 浏览

ruby - 如何为 Luhn 对象创建条件循环以检查 index[0] 是否不为 0

我正在使用来自 Github 的 Luhn 库。Luhn 类有更多方法,但我只对“生成”和“有效?”感兴趣。方法。

但我不希望生成的数字以“0”开头。

那么我该如何输入我的 ruby​​ 脚本:

  1. 丢弃生成的以 开头的数字"0"
  2. 生成另一个数字并再次检查,直到m[0]非零。
  3. 在生成的数字上运行valid?():如果为假,则生成另一个非零数字,直到为真。
  4. 将有效的 9 位数字返回给呼叫者代码
0 投票
4 回答
919 浏览

python - 信用卡号码验证器无法正常工作

该算法似乎适用于“4556737586899855”等示例,但不适用于“30569309025904”等示例。我已经遵循了这个过程,在处理数字的方式上找不到缺陷,我可能只是在这里遗漏了一些难题。

我在这里遵循大纲,并此处使用了示例。

0 投票
1 回答
1049 浏览

java - Luhn formula implementation in Java

I'm trying to implement a luhn formula in my java servlet application. I tried other 'valid' credit cards numbers scattering in the internet and didn't work. I just want to know if I got it correctly. Any help would be appreaciate!

0 投票
0 回答
1004 浏览

algorithm - OCR序列号校验位

我想借助 OCR 读取大约 16-20 个字符(AZ,0-9)的序列号。因为每次我想在序列号中添加一个校验字符时,所有字符都不会被正确识别。目前我找到了简单的 Luhn mod N 算法(维基百科)。该算法对于转置错误 (09 => 90) 是不安全的。

来自维基百科的实现:

NumberOfValidInputCharacters() 将是 36 (AZ, 0-9)

但是,如果我将“因子”变量修改为序列号中字符的实际索引,是否会像以前一样更安全?(参见代码中的 ** ** 行)