def luhn(code)
s1 = s2 = 0
code.to_s.reverse.chars.each_slice(2) do |odd, even|
s1 += odd.to_i
double = even.to_i * 2
double -= 9 if double >= 10
s2 += double
end
(s1 + s2) % 10 == 0
end
[49927398716, 49927398717, 1234567812345678, 1234567812345670].each do |n|
p [n, luhn(n)]
end
运行结果如下
[49927398716, true]
[49927398717, false]
[1234567812345678, false]
[1234567812345670, true]
分享到:
相关推荐
### Python3通过Luhn算法快速验证信用卡卡号的方法 在当今数字化时代,信用卡作为一种便捷的支付方式被广泛使用。为了确保交易的安全性,各种验证机制应运而生,其中Luhn算法是一种常用的校验码算法,用于验证各种...
本文实例讲述了Go语言通过Luhn算法验证信用卡卡号是否有效的方法。分享给大家供大家参考。具体实现方法如下: 代码如下: package main import ( “fmt” “strings” ) const input = `49927398716 49927398717...
本文实例讲述了PHP实现通过Luhn算法校验信用卡卡号是否有效的方法。分享给大家供大家参考。具体实现方法如下: $numbers = 49927398716 49927398717 1234567812345678 1234567812345670; foreach (split(' ', $...
验证卡号的有效性 Luhn计算模10 “隔位2倍加”校验数的公式 计算步骤如下: 1、从右边第一个数字(低序)开始每隔一位乘以2。 2、把在步骤1中获得的乘积的各位数字与原号码中位乘2的各位数字相加求和。 3、从步骤2中...
Luhn算法,也被称为模10算法或Luhn校验算法,是一种广泛应用于验证各种卡片号码(如信用卡号、IMEI、VIN等)正确性的简单校验方法。它由美国IBM公司的工程师Norman Luhn于1954年发明,目的是为了检测手动输入的数字...
该算法通过计算数字的奇偶位置权重和来验证其有效性。Ruby-creditcardvalidations库利用这个算法对信用卡号进行验证,确保它们是有效的。 2. **信用卡类型识别**: 这个gem可以识别不同类型的信用卡,例如Visa、...
LUHN算法,也被称为模10验证或Luhn校验,是用于验证一系列数字序列(如信用卡号、IMEI号码、加拿大社会保险号等)的一种简单但有效的算法。这个算法的目的是确保输入的数字序列在一定程度上是正确的,避免因为输入...
纯C语言实现的Luhn算法(信用卡校验位) 示例 C 函数“check_number()”用于检查任意长度的数字字符串,在字符串末尾使用 Luhn 校验位加上示例 C 函数“calc_digit()”以计算给定字符串的校验位字符。示例“main”C...
Luhn算法工具,实现对输入附加校验码,检查带校验码字符串是否合法
LUHN算法,也被称为Luhn校验或模10算法,是一种简单的算法,常用于验证信用卡号、IMEI(国际移动设备识别码)等数字序列的正确性。它通过计算数字序列的奇偶位和来确保输入的数字是有效的,防止输入错误。LUHN算法的...
信用卡卡号验证是确保信用卡号码有效性和安全性的关键步骤。在C语言中,我们可以实现一个简单的程序来验证信用卡号码是否符合Luhn算法,这是一种广泛用于验证银行卡号的校验算法。以下是对Luhn算法和相关C语言代码的...
ObjectiveLuhn, Luhn信用卡验证算法 Luhn算法 这是Luhn算法的一个端口,通常用于验证信用卡详细信息,objective-c ( iOS ) 。在 https://github.com/MaxKramer/SwiftLuhn 可以找到快速端口。简单地调用单
Luhn算法仅仅是一个基本的格式校验工具,真正的安全性校验需要结合银行的后端系统进行验证。此外,使用OCR技术对扫描文档进行文字识别时可能会出现识别错误,开发者在应用过程中需要留意细节,确保逻辑通顺且正确。
以下数字可作为一个可验证的示范cardNumber ='111111111111119'#卢恩有效号码cardNumber ='111111111111111'#无效的Luhn号码cardNumber ='1111-111111-11119'#Luhn有效数字,但格式无效cardNumber ='...
在VB.NET中,验证信用卡卡号的正确性是一项常见的任务,尤其在开发电子商务或金融类应用时。这个过程通常依赖于一种称为Luhn算法(也称为模10算法)的简单校验方法。Luhn算法是为了确保信用卡号的正确性而设计的,它...
clj-luhn 一个 Clojure 库,旨在验证使用信用卡号。用法( clj-luhn/valid? 49927398716 ); => true( clj-luhn/valid? 79927398710 ); => false( clj-luhn/check-digit 79927398710 ); => 3安装执照版权所有 :...
这个项目可能包含了一个自定义的输入框布局,以及对Luhn算法的实现,该算法用于验证信用卡号的有效性。 Luhn算法,也被称为模10校验算法或Luhn mod 10算法,是由IBM的工程师弗兰克·L·鲁hn于1954年发明的。这个...