Загрузка...

Валидация введенного номера карты

Тема в разделе Frontend создана пользователем akylbek2000 28 апр 2020. 214 просмотров

Загрузка...
  1. akylbek2000
    akylbek2000 Автор темы 28 апр 2020 34 14 ноя 2018
    Пример функции для валидации карты по алгоритму Луна.
    Например если вы хотите сообщить сразу человеку если он опечатался при введении карты ;)

    JavaScript
    //Возвращаем true елси карта норм, false если не норм
    function validСard(value) {
    //Не принимаем пустую строку
    if(value.length < 1) return false;
    //Принимаем только цифры
    if (/[^0-9-\s]+/.test(value)) return false;
    //проверка по алгоритму Луна
    var nCheck = 0, nDigit = 0, bEven = false;
    value = value.replace(/\D/g, "");

    for (var n = value.length - 1; n >= 0; n--) {
    var cDigit = value.charAt(n),
    nDigit = parseInt(cDigit, 10);

    if (bEven) {
    if ((nDigit *= 2) > 9) nDigit -= 9;
    }

    nCheck += nDigit;
    bEven = !bEven;
    }

    return (nCheck % 10) == 0;
    }
    Демо пример: Клик
     
  2. Mandtory
    Mandtory 28 апр 2020 Заблокирован(а) 338 1 мар 2020
    Ввожу не похожую на настоящую карту пишет что карта верная
     
    1. akylbek2000 Автор темы
      Mandtory, надо будет отредактировать немножко
Top