нашел в нете... думаю перегнать в скрипт не составит труда
Модуль содержит две функции для проверки контрольного числа ИНН и страхового номера ПФ
CheckINN
- Функция вычисляет контрольное число ИНН и возвращает True если ИНН введен правильно или False в противном случае
В качестве параметра передается проверяемый ИНН
Для справки: структура ИНН
* 10-ти разрядный ИНН - NNNNXXXXXC
* 12-ти разрядный ИНН - NNNNXXXXXXCC где:
o NNNN - номер налоговой инспекции
o XXXXX, XXXXXX - порядковый номер налогоплательщика (номер записи в госреестре)
o C - контрольное число в 10-ти разрядном ИНН
o CC - контрольное число в 12-ти разрядном ИНН (фактически, идущие подряд две контрольные цифры)
CheckPFCertificate
- Функция вычисляет контрольное число страхового номера ПФ и возвращает True если оно введено правильно или False в противном случае
В качестве параметра передается страховой номер ПФ без разделителей
Проверка контрольного числа Страхового номера проводится только для номеров больше номера 001-001-998.
Контрольное число Страхового номера рассчитывается следующим образом: каждая цифра Страхового номера умножается на номер своей позиции (позиции отсчитываются с конца), полученные произведения суммируются, сумма делится на 101, последние две цифры остатка от деления являются Контрольным числом.
А еще посмотри
Посмотреть вложение inn_pf.zip
Модуль содержит две функции для проверки контрольного числа ИНН и страхового номера ПФ
CheckINN
- Функция вычисляет контрольное число ИНН и возвращает True если ИНН введен правильно или False в противном случае
В качестве параметра передается проверяемый ИНН
Для справки: структура ИНН
* 10-ти разрядный ИНН - NNNNXXXXXC
* 12-ти разрядный ИНН - NNNNXXXXXXCC где:
o NNNN - номер налоговой инспекции
o XXXXX, XXXXXX - порядковый номер налогоплательщика (номер записи в госреестре)
o C - контрольное число в 10-ти разрядном ИНН
o CC - контрольное число в 12-ти разрядном ИНН (фактически, идущие подряд две контрольные цифры)
CheckPFCertificate
- Функция вычисляет контрольное число страхового номера ПФ и возвращает True если оно введено правильно или False в противном случае
В качестве параметра передается страховой номер ПФ без разделителей
Проверка контрольного числа Страхового номера проводится только для номеров больше номера 001-001-998.
Контрольное число Страхового номера рассчитывается следующим образом: каждая цифра Страхового номера умножается на номер своей позиции (позиции отсчитываются с конца), полученные произведения суммируются, сумма делится на 101, последние две цифры остатка от деления являются Контрольным числом.
А еще посмотри
Ссылка скрыта от гостей
Посмотреть вложение inn_pf.zip