Описание проекта
Нужна проверка формата на стороне формы: правильная длина ИНН для физлица и юрлица, правильная длина ОГРН и ОГРНИП, и настоящая проверка контрольной суммы по стандартному алгоритму с весовыми коэффициентами — чтобы ловились не только номера неправильной длины, но и явно придуманные или опечатанные значения с верной длиной, но неверной контрольной цифрой. Пока человек печатает, поле должно сразу подсвечивать ошибку, а кнопка отправки должна оставаться неактивной, пока все обязательные поля не пройдут проверку. Речь именно про проверку формата и контрольной суммы внутри самой формы, с таким же контролем на сервере; обращаться к внешним реестрам не нужно.
Важные моменты:
— проверка сразу при вводе, а не только при попытке отправить форму
— корректная обработка длины номера и для физлица, и для юрлица
— именно проверка контрольной суммы, а не просто подсчёт цифр
— учтены краевые случаи: ведущие нули, вставка номера с пробелами или дефисами