我有一个包含信用卡号码的大文本文件,有人告诉我需要查看这个文件,然后找到可能的信用卡号码,我一直在使用 Notepad ++ 'Find in Files' 正则表达式搜索模式使用这个简单的表达式:4\d{15}(搜索以 4 开头的 16 位长字符串,通常是 VISA 借记卡/贷记卡),然后我将其复制并粘贴到信用卡验证脚本中。
无论如何要创建一个表达式来搜索以 4 开头的 16 位长字符串,并检查它是否使用 Luhn 算法(确保它有效)。
这是卢恩算法:
1) 从倒数第二个数字开始向左移动,将所有交替数字的值加倍。
2) 从左边开始,取所有未受影响的数字,并将它们添加到步骤 1 中所有单个数字的结果中。如果步骤 1 中的任何数字的结果是两位数,请务必先将两个数字相加(即 18 将产生 1+8)。基本上,你的方程看起来像一个添加每个数字的常规加法问题。
3) 第 2 步的总数必须以零结尾,信用卡号才有效。