Как стать автором
Обновить

Комментарии 9

Если кто-то не в курсе, то данная проверка основана на том, что ИНН содержит в себе контрольное число, которое записывается в конец номера. Контрольное число считается по известному заранее определённому алгоритму (из текста функции видно, как именно) из остальных цифр номера. Эта проверка по контрольному числу нужна для выявления случайной ошибки при вводе номера.

Аналогичные контрольные числа (уже со своими алгоритмами подсчёта) используются в ИНН, номерах бансковских пластиковых карт, в бар-кодах (штрих-кодах), в номерах социальных карт москвича, в международных идентиф. кодах ценных бумаг (ISIN), в номерах карт пенсионного страхования, В ОКПО, ОКАТО, ОГРН/ОГРНИП, ISSN, ISBN и других номерах.

Зная алгоритм подсчёта контрольного числа в каждом из этих случаев, можно написать аналогичную функцию проверки ввода и для этих номеров тоже.

Подробнее о контрольных числах в номерах см. статью на википедии.
Ваш комментарий для меня оказался интереснее самой статьи.
Спасибо.
это Хабр, тут такое бывает…
Да, верно, спасибо что напомнили :)

Проверка номера карты у меня тоже реализована была чуть раньше.
blog.geoblogspot.com/2010/09/luhn-algorithm-credit-card-number.html
Вот по этому алгоритму
en.wikipedia.org/wiki/Luhn_algorithm
По остальным — точно, надо будет поискать готовые скрипты и реализовать как нормальную библиотеку.

Еще реализовал код Salesforce (пока не публиковал)
https://spreadsheets.google.com/ccc?key=0AppCRCbx33I9dHY2d0tXLTB0aE1SWE5meWt2VjZ2LWc&hl=en
Может тоже интересно будет.
Для Укрины:
Зная дату рождения персонажа, можно вычислить, лжет ли он, диктуя свой ИНН.
По номеру ИНН можно узнать пол.
Разоблачение здесь.
Спасибо, не знал. Очень познавательно.
То есть, если в ИНН я использовал пробелы или тире, то номер неверный?
Это уже детали. Здесь просто, чтобы не усложнять объяснение, продемонстрирована функция проверки номера на ошибочность ввода.
В реальных условиях можно предварительно подготовить введённую строку: выкинуть все пробелы, точки, дефисы, тире, кавычки и уже в очищенном виде подавать на вход этой функции.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории