- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用以下脚本来验证在表单中输入的卡详细信息。我想为此添加一个功能,以便提醒使用激光卡的访客我们不接受它们。
Laser的起始数字是6304,6706,6771&6709
function Calculate(Luhn)
{
var sum = 0;
for (i=0; i<Luhn.length; i++ )
{
sum += parseInt(Luhn.substring(i,i+1));
}
var delta = new Array (0,1,2,3,4,-4,-3,-2,-1,0);
for (i=Luhn.length-1; i>=0; i-=2 )
{
var deltaIndex = parseInt(Luhn.substring(i,i+1));
var deltaValue = delta[deltaIndex];
sum += deltaValue;
}
var mod10 = sum % 10;
mod10 = 10 - mod10;
if (mod10==10)
{
mod10=0;
}
return mod10;
}
function Validate(Luhn)
{
var LuhnDigit = parseInt(Luhn.substring(Luhn.length-1,Luhn.length));
var LuhnLess = Luhn.substring(0,Luhn.length-1);
if (Calculate(LuhnLess)==parseInt(LuhnDigit))
{
return true;
}
alert("\n\nError with your card number! \nPlease check and correct.\n\n")
return false;
最佳答案
我不会修改这些函数来检查卡片类型——它们有特定的目标。如果您更改 Validate(Luhn) 函数,使其无法通过其 Luhn 检查但具有特定起始数字的卡片,您以后会给自己带来麻烦。相反,添加一个新函数,如下所示:
function checkCardType(CardNumber) {
var CardStart = CardNumber.substring(0, 4);
if ((CardStart == '6304') || (CardStart == '6706') || (CardStart == '6771') || (CardStart == '6709')) {
alert('We do not accept Laser cards.');
return false;
} else {
return true;
}
}
关于javascript - 修改 Luhn 检查器功能以检查激光卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5063901/
我想了解其中的逻辑,以便我可以在 java 中实现这个算法。我想计算有效的十六进制 IMEI 号码的校验位。例如 - 6C4BFFC0000004请帮我算法。我试图在谷歌中找到解决方案,但我无法使用这
enter image description here 谁能解释一下这个程序。这个程序是我们老师给出的,他说这是关于 luhn 算法的,我找到了它是什么,但我无法理解该程序。 最佳答案 读完维基百科
大家好,我是编程界的新手。对于学校练习题,我得到了以下文本,我想将其转换为代码。我已经花了几个小时在上面,但似乎仍然无法弄清楚,但我决心学习这个。我目前遇到错误 line 7, in if i
我对编程非常陌生。我根据以下说明实现了信用卡验证程序。 让输入成为输入。 反向输入。 将输入的所有奇数位置(即索引 1、3、5 等)乘以 2。如果这些相乘项中的任何一项大于 9,则减去 9。 将输入的
排除校验位,luhn 算法的最小长度是多少? 我的想法是,它适用于任何大于 2 位的数字(同样,不包括校验位)。 我问的原因是:如果我从右到左遍历数字中的所有数字。这会导致我的 luhn 验证中的 i
在我的应用程序中,我想检查用户是否输入了我使用 LUHN 算法的有效卡号。我已将其创建为方法并在主 Activity 中调用。但即使我提供有效的卡号,它也会显示无效。在输入卡号时,我在中间留了空格,我
一切看起来都很好,似乎遵循 Luhn 的算法,但是当我输入我自己的信用卡号或这个应该有效的样本号:4388576018410707 时,它仍然无效... 谁能找到问题所在? #include int
我正在尝试用 JAVA 制作一个应用程序来检查用户输入的信用卡号是否有效。 以下是模数 10 检查的步骤: 第一步:从右到左每隔两个数字加倍。如果数字加倍得到两位数,则将这两位数相加得到一位数。 第
我一直在试图找出验证信用卡的 Luhns 方法,但我似乎无法弄清楚。我需要使用方法而不能使用数组,所以我完全被难住了。 这是 Luhns 检查: 信用卡号必须包含 13 到 16 位数字。它必须从以下
它应该使用 luhn 检查来告诉我一张卡是有效还是无效4388576018402626 无效4388576018410707 有效但它一直告诉我一切都是无效的:/任何关于做什么或去哪里寻找的建议都会很
我昨天完成了将这些函数组合在一起,它基本上是 Luhn 算法的实现。第一个函数应该接受一个整数和数组作为输入,然后将整数拆分为数字以填充数组。第二个应该检查数字是否有效并返回 1 或 0。我的问题是,
我希望有人能帮助我解决这个问题。我是一个彻底的 C 新手。 这是关于 C 类(class)的学校作业(只是普通的旧 C,而不是 C# 或 C++),教授坚持认为我们唯一允许使用的编译器是 Borlan
我有这段代码,由于某些原因,我在 for 循环的每次迭代中都会得到一个非常大的数字,但我无法弄清楚其中的逻辑。 #include #include #include #include int
我使用以下脚本来验证在表单中输入的卡详细信息。我想为此添加一个功能,以便提醒使用激光卡的访客我们不接受它们。 Laser的起始数字是6304,6706,6771&6709 function Calcu
我正在尝试使用此代码在 Java 中测试示例代码是否为有效的信用卡号(使用 Luhn algorithm )。我哪里做错了?它接受一个由 16 个一位数组成的数组。任何帮助将非常感激。谢谢! priv
我试图让某人输入信用卡号并通过 Luhn Check 验证它是否有效。我希望能够检查他们是否将整个卡号作为一个大字符串输入,或者是否在其中放置了空格。在我的函数验证中,尽管我不断收到一条错误消息,指出
我编写了一个工作代码来使用 luhn 算法检查信用卡是否有效: class CreditCard def initialize(num) @@num_arr = num.to_s.spli
我有一个 luhn 算法,我正在尝试按照维基百科上的算法步骤进行操作,并且它适用于他们提供的示例。我认为这是正确的。但它不适用于我的任何个人卡。也没有我在寻找解决方案时发现的任何测试值。 我已经看到使
我是一名新的编程学生,我正在尝试用 Java 编写一个算法来执行以下操作: 计算信用卡号的每隔一个数字(从倒数第二个数字开始)并将每个数字乘以 2。 取结果整数并将所有数字加在一起(即,如果我得到 1
我正在尝试实现 Luhn 算法来检查信用卡号的有效性。为此,每隔一个数字需要乘以 2,如果结果 >9,则将其替换为数字之和。 def luhn_check(creditcardnr): """ che
我是一名优秀的程序员,十分优秀!