私は現在、ラインリーダーを使用してクレジットカード番号をバリデータと識別子に入力するプロジェクトに取り組んでいます。私は10の数字を入力し、彼らは4つの異なるクレジットカード会社のものです。私は3つの企業を無視し、残りの企業の数字のみを表示したい。ノードラインリーダーを条件付きでスキップするには
この会社のルール(条件)は、それはそれで15桁の数字を持っており、ここで37または34
4111111111111111
4111111111111
4012888888881881
378282246310005
6011111111111117
5105105105105100
5105105105105106
9111111111111111
371449635398431
378734493671000
で開始しなければならないことをしている私の現在のその場しのぎのモジュールである。ここでは
export const isAmex = (creditCard: string): boolean =>
creditCard.length === 15 &&
(creditCard.substring(0, 2) === '37' || creditCard.substring(0, 2) === '34')
export const is2Amex = (creditCard: string): boolean =>
creditCard.length === 15 &&
(creditCard.substring(0, 2) === '37' || creditCard.substring(0, 2) === '34')
export const ifIsntAmex = (creditCard: string) => {
if (!is2Amex(creditCard)) {
return ' '
} else {
return creditCard
}
}
export const getAmexName = (creditCard: string) => {
if (!isAmex(creditCard)) {
return ' '
} else {
return 'AMEX'
}
}
は一部であり、インデックスの:
const outputAmex: string[] = []
lineReader.on('line', (creditCard: string) => {
outputAmex.push(
`${getAmexName(creditCard)}: ${ifIsntAmex(creditCard)}
(${cardValidator(creditCard) ? 'valid' : 'invalid'})`
)
})
lineReader.on('close',() => {
fs.writeFile('./data/Amex.txt', outputAmex.join('\n'), err => {
if (err) throw err
console.log('The file has been saved!')
})
})
それはこのようなものを返します。
: (valid)
: (invalid)
: (valid)
AMEX: 378282246310005 (invalid)
: (valid)
: (valid)
: (invalid)
: (invalid)
AMEX: 371449635398431 (invalid)
AMEX: 378734493671000 (invalid)
Amex以外の行はどのように無視しますか?