发布于 2026-01-06 0 阅读
0

信用卡号码查询

信用卡号码查询

对于正在搭建电商网站和支付门户的朋友们,这里有一些实用工具!无需插件!

这是Luhn 算法Luhn 公式,用于检查信用卡号是否有效。几乎所有支付处理平台都内置了这种验证器,例如StripePayPal等。

算法

  1. 从倒数第二位数字开始,向左移动,每隔一位数字的值翻倍。
  2. 如果乘以 2 的结果大于 9,则从乘以 2 的结果中减去 9。
  3. 求所有数字之和
  4. 对和取 10 的模,如果模值为 0,则根据该算法,该数字有效。

一个例子

以 79927398713 为例,算法流程如下:
|7|9|9|2|7|3|9|8|7|1|3|

  1. |7| 18 |9 | 4 |7| 6 |9| 16 |7| 2 |3|
  2. |7| 9 |9|4|7|6|9| 7 |7|2|3|
  3. 所有数字之和 = 70
  4. 70%10 = 0,因此,该数字有效。

这里有一个使用 Map 和 Reduce 函数的 JavaScript 实现示例。你也可以用你喜欢的语言尝试一下!

function luhn(no){
    no = no.toString();
    arr = no.split('').map(x=>parseInt(x));
    arr.reverse();
    rArr = rArr.map(function(x,index){
    if(index%2!=0){
        if(x*2 >= 10) x = x*2 - 9;
        else x = x*2; 
        }
        return x;
    });
    sum = rArr.reduce((accu,curr)=>accu+curr);
    if(sum%10==0) return true;

    return false; 
}
Enter fullscreen mode Exit fullscreen mode

如果您想了解更多关于该算法的信息,可以点击此处阅读更多内容。

文章来源:https://dev.to/divyajyotiuk/credit-card-number-check-4cf8