【发布时间】:2021-06-18 11:29:39
【问题描述】:
我在这个项目的第二步中遇到了困难。当我输入 Visa 或 MasterCard 卡号时,我的控制台测试返回“卡号无法识别”,其目的是检测卡号来自哪个网络。非常感谢您能提供给我的任何见解。
var detectNetwork = function(cardNumber) {
// Note: `cardNumber` will always be a string
var splt = cardNumber.split('');
// The Diner's Club network always starts with a 38 or 39 and is 14 digits long
if ((splt[0] === '3') && (splt[1] === '8' || splt[1] === '9') && (splt.length === 14)) {
return 'Diner\'s Club';
} else if ((splt[0] === '3') && (splt[1] === '4' || splt[1] === '7') && (splt.length === 15)) {
return 'American Express';
} else if ((splt[0] === '4') &&
(splt.length === 13 ||
splt.length === 16 ||
splt.length === 19)) {
return 'Visa';
} else if ((splt[0] === '5') &&
((splt[1] === '1') || (splt[1] === '2') || (splt[1] === '3') ||
(splt[1] === '4') || (splt[1] === '5')) &&
(splt.length === 16)) {
return 'MasterCard';
} else {
return 'Card number not recognized';
}
// The American Express network always starts with a 34 or 37 and is 15 digits long
// Once you've read this, go ahead and try to implement this function, then return to the console.
};
【问题讨论】:
-
您能否在代码中添加一些对该函数的调用,但实际参数并未给出预期结果?
标签: javascript function boolean