一旦用户向我提供了他们的信用卡类型和他们的信用卡号码,如果号码和卡片类型不符合他们的BIN,我希望显示错误的吐司信息:{{3 }}
选择"美国运通"下面的代码会生成吐司信息。并输入一个数字,无论该数字是以34或37还是任何其他数字开头。
switch ($scope.newPayment.card_type) {
case "American Express":
$scope.digits = $scope.newPayment.card_number.toString().substr(0, 2).valueOf();
if ($scope.digits != 34 || $scope.digits != 37) {
toastr.error('Card number does not match card type');
return;
}
break;
case "Visa":
$scope.digits = $scope.newPayment.card_number.toString().substr(0, 1).valueOf();
if ($scope.digits != 4) {
toastr.error('Card number does not match card type');
return;
}
break;
case "Mastercard":
$scope.digits = $scope.newPayment.card_number.toString().substr(0, 2).valueOf();
if (51 > $scope.digits > 55) {
$scope.digits = $scope.newPayment.card_number.toString().substr(0, 4).valueOf();
if (2221 > $scope.digits > 2720) {
toastr.error('Card number does not match card type');
return;
}
}
break;
case "Discover":
$scope.digits = $scope.newPayment.card_number.toString().substr(0, 4).valueOf();
if ($scope.digits != 6011) {
$scope.digits = $scope.newPayment.card_number.toString().substr(0, 2).valueOf();
if ($scope.digits != 65) {
$scope.digits = $scope.newPayment.card_number.toString().substr(0, 3).valueOf();
if (644 > $scope.digits > 649) {
$scope.digits = $scope.newPayment.card_number.toString().substr(0, 6).valueOf();
if (622126 > $scope.digits > 622925) {
toastr.error('Card number does not match card type');
return;
}
}
}
}
break;
default:
}
答案 0 :(得分:1)
我的测试用例是在一行代码中。
if ($scope.digits != 34 || $scope.digits != 37 ){
将永远为真,因为数字不能同时为34和37。
我更新了这个并且很高兴。