Веб-розробка

Credit Card Validator

Перевірити номер картки алгоритмом Луна, визначити платіжну систему й довжину. Усе обчислюється у браузері — номер нікуди не надсилається.

Алгоритм Луна — контрольна сума, яку більшість платіжних систем додають до номера картки, щоб виявити випадкові помилки набору (одна переставлена чи неправильно введена цифра). Інструмент перевіряє номер за цим алгоритмом і визначає платіжну систему за префіксом (BIN).

Як користуватися

Типові сценарії

Що варто памʼятати

Валідна за Луном картка не означає, що вона активна, не заблокована чи взагалі існує — перевірка лише виявляє явні помилки набору.

Дані картки обробляються повністю у браузері й нікуди не надсилаються, але для реальних платежів усе одно варто використовувати сертифіковані платіжні форми (PCI DSS), а не вставляти номер картки у сторонні інструменти.

Стаття про цей інструмент: Алгоритм Луна: як номер картки перевіряють на коректність

Часті запитання

Чи означає успішна перевірка, що картка справжня й має кошти?

Ні — цей інструмент перевіряє лише контрольну суму Луна та очікувану довжину цифр для визначеної платіжної системи; він не може сказати, чи картка справді існує, активна чи має кошти, оскільки для цього потрібно звертатися до емітента картки.

Як працює алгоритм Луна?

Він подвоює кожну другу цифру справа, підсумовує цифри результатів разом із незміненими цифрами й перевіряє, що сума кратна 10 — він виявляє більшість одруків і переставлених цифр, але не є перевіркою на шахрайство.

Чи надсилається номер моєї картки кудись?

Ні, перевірка відбувається повністю у вашому браузері, і номер ніколи не передається й не зберігається.

Як визначається платіжна система (Visa, Mastercard тощо) за номером картки?

За першими кількома цифрами номера, які називаються BIN (Bank Identification Number) — наприклад, номери Visa завжди починаються з 4, а Mastercard — з діапазону 51–55 або 2221–2720; за цим префіксом форми оплати визначають іконку платіжної системи ще до завершення введення номера.

Чи можна за допомогою BIN дізнатися банк, який випустив картку?

Частково — перші 6 цифр (розширений BIN) зазвичай дозволяють визначити не лише платіжну систему, а й конкретний банк-емітент і тип картки (дебетова чи кредитна), хоча для точного визначення банку потрібні спеціалізовані БІН-довідники, а не сам алгоритм Луна.

Статті: Веб-розробка

HEX, RGB, HSL: чому для кольору існує стільки записів

Чому дизайнери часто обирають HSL замість HEX, коли потрібно підібрати відтінок кольору вручну.

Мінімізація CSS: що саме видаляється з файлу і навіщо

Чому мінімізований CSS однаково працює в браузері, хоч і стає нечитабельним для людини.

Мінімізація JavaScript: різниця між мінімізацією та обфускацією

Чому мінімізований код все ще можна прочитати за бажання, а обфускований — ні.

Мінімізація HTML: чому пробіли в розмітці взагалі мають значення

Чому видалення пробілів у <pre> чи textarea може зламати вигляд сторінки, на відміну від інших місць.

CSS-градієнти: чим linear відрізняється від radial і conic

Чому conic-gradient підходить для кругових діаграм, а radial — для ефекту світлової плями.

IBAN: як влаштований міжнародний номер банківського рахунку

Чому перші дві літери в IBAN — це код країни, а не частина номера рахунку.

QR-коди: як у квадраті з пікселів вміщується посилання

Чому QR-код із логотипом по центру все ще сканується, хоч частина малюнка перекрита.

Штрих-коди: чим Code 128 відрізняється від EAN-13

Чому на товарах у магазинах майже завжди EAN-13, а не Code 128.

Placeholder-зображення: навіщо потрібні картинки-заглушки в розробці

Чому верстальники навмисно вставляють сірі прямокутники замість реальних фотографій на етапі розробки.