我正在尝试将公司名称放在卡号前面,这里的代码是我试图让它在前面打印名称的代码。我在这里遇到的问题是每家公司都有规则 - 条件,我正在努力将这些规则变成 if 语句的条件。
我意识到我正在做的 if 语句不是处理这个问题的好方法,但我只是要求解释解决这个问题的最佳方法。
AMEX 卡规则: - 长度为 15 - 以“34”或“37”开头
发现卡规则: - 长度为 16 - 以“6011”开头
万事达卡规则: - 长度为 16 - 以“51”或“55”开头
VISA 卡规则: - 以“13”或“16”或“4”开头
我正在从代码中看到的另一个文件中读取数字,我认为我不必包含这个,但这就是为什么我遇到麻烦我不想跳过 if 语句只是说我的不切实际
这是我的代码:
import { createReadStream } from 'fs'
import { createInterface } from 'readline'
const lineReader = createInterface({
input: createReadStream('data/input.txt')
})
lineReader.on('line', (creditCard: string) => {
if ((creditCard.length === 15 && creditCard.substring(0, 1) === '37')) {
creditCard = '(AMEX) ' + creditCard + ' valid'
} else {
return
}
console.log('Line from file: ', creditCard)
})