Уважаемые форумчане, есть код для проверки валидации поля input credit card,
const form = document.getElementById('PayForm');
const cardNumberInput = document.getElementById('valid');
function luhnAlgorithm(digits) {
let sum = 0;
for (let i = 0; i < digits.length; i++) {
let cardNum = parseInt(digits[i]);
if ( i % 2 === 0) {
cardNum = cardNum * 2;
if (cardNum > 9) {
cardNum = cardNum - 9;
}
}
sum += cardNum;
}
return sum % 10 === 0;
}
form.addEventListener('submit', (event) => {
const cardNumber = cardNumberInput.value;
const isCardNumberValid = luhnAlgorithm(cardNumber);
if (!isCardNumberValid) {
event.preventDefault()
event.stopPropagation()
cardNumberInput.classList.add('invalid-card')
}
})
проблема в том что, этот код какую бы я карту в не вбил для теста, border bottom остается красным, и submit неработает вообще, и на валидную карту и на не валидную карту