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