gpt4 book ai didi

javascript - 修改 Luhn 检查器功能以检查激光卡

转载 作者:行者123 更新时间:2023-11-30 13:35:34 25 4
gpt4 key购买 nike

我使用以下脚本来验证在表单中输入的卡详细信息。我想为此添加一个功能,以便提醒使用激光卡的访客我们不接受它们。

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com