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

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-изображения: зачем нужны картинки-заглушки в разработке

Почему верстальщики намеренно вставляют серые прямоугольники вместо реальных фотографий на этапе разработки.