Проверьте, удовлетворяет ли числовая строка алгоритму контрольной цифры Luhn по модулю 10 — той же контрольной сумме, что и у номеров кредитных карт, идентификаторов IMEI и ряда национальных схем удостоверений.
Алгоритм
Начиная с крайней правой цифры:
- Удвойте каждую вторую цифру; если удвоение больше 9, вычтите 9.
- Сложите все цифры (изменённые и неизменённые).
- Число корректно, если сумма кратна 10.
Нецифровые символы удаляются перед обработкой. Пустой ввод или ввод без цифр не проходит проверку.
Когда применять
Ловите опечатки в одной цифре перед отправкой платежа, проверяйте тестовые номера карт в PCI-песочницах или объясняйте, как контрольные суммы находят ошибки переписывания без полноценного криптографического хеширования.
Ограничения
Успешный Luhn означает лишь арифметическую согласованность — не то, что счёт существует, активен или принадлежит конкретному эмитенту. Некоторые корректные бизнес-идентификаторы намеренно обходятся без Luhn. Инструмент проверяет по одному номеру и не определяет бренд или страну карты.
Пример
Введите значения образца по умолчанию в форме и сравните вывод с известным эталоном; меняйте по одному полю.