Алгоритм контролю ІПН та держномеру ТЗ

Перевірка формату ідентифікаційного номеру

Ідентифікаційний номер вважається системою коректним, якщо він розпочинається з однієї з цифр  ‘0’ , ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ (оскільки перші 5 цифр ІПН – це різниця у днях між датою народження та 1 січня 1900 року, й ІПН не повинен відповідати очевидно неможливій даті народження). Крім того, якщо i1i2, … i10  знаки ідентифікаційного коду, то має виконуватися наступне:

Ч = (i1*(-1) + i* 5+ i3 * 7 + i4 * 9 + i5 * 4  + i6 * 6 + i7 * 10 + i8 * 5 + i9 * 7 )

Якщо остача від ділення Ч на 11  дорівнює 10, то i10 має дорівнювати 0.Інакше i10 має дорівнювати остачі від ділення Ч на 11.

Перевірка формату державного номеру ТЗ для резидента 

Українська реєстрація, де "Б" - означає літеру кирилиці, а "Ц" – цифру:

'ЦЦЦЦЦББ', 'ЦЦЦЦББ',  'ББЦЦЦЦЦ', 'ЦЦЦЦБББ', 'ЦЦЦЦБББ', 'БЦЦЦЦББ', 'ЦЦЦЦБББ', 'ЦЦЦЦББ', ЦЦЦЦБЦ

 'ББЦЦЦЦББ', 'ЦЦЦЦАП', 'ЦЦЦЦКМ', 'ЦЦЦЦВР', 'ББЦЦЦЦ'.

Дипломатичні та інші іноземні ТЗ з українською реєстрацією:

'СDРЦЦЦЦ', 'ЦЦЦСDРЦЦЦЦ', 'DРЦЦЦЦЦ', 'DРЦЦЦЦ', 'ЦЦЦDРЦЦЦЦ', 'FЦЦЦЦЦЦ', 'ЦЦЦFЦЦЦЦЦ', 'SЦЦЦЦЦ', 'ЦЦЦSЦЦЦЦЦ', 'СМDЦЦЦЦ', 'BЦЦЦЦЦ', 'ЦЦЦBЦЦЦЦЦ', 'CЦЦЦЦЦ', 'CЦЦЦЦЦЦ', 'ЦЦЦCЦЦЦЦЦ', 'CCЦЦЦЦ', 'ЦЦЦCCЦЦЦЦ', 'DЦЦЦЦЦЦ', 'ЦЦЦDЦЦЦЦЦ', 'TЦЦЦЦЦЦ'      , 'MЦЦЦЦЦЦ', 'KЦЦЦЦЦЦ', 'HЦЦЦЦЦЦ', 'PЦЦЦЦЦЦ'

Шаблони RegExp:

Вираз RegExp

Опис

1.

^[a-zA-Zа-яА-ЯїЇіІ]{2}$

2 літери

2.

^[0-9]{7}$

До 7 цифр

3.

^(?=.*\d+)[0-9,a-z,A-Z,у,У,к,К,е,Е,н,Н,х,Х,в,В,а,А,р,Р,о,О,с,С,м,М,т,Т,і,І,з,З]{5,17}$

Літери та цифри, до 17 символів

4.

^[a-zA-Zа-яА-ЯїЇіІ0-9./]{0,10}$

Літери та цифри, до 10 символів

5.

^[0-9]{8}$|^[0-9]{10}$|^[A-ZА-Я]{2}[0-9]{6}$

0 цифр, або 2 літери та 5 цифр (серія та номер паспорту для осіб, які не мають ідентифікаційного коду)

6.

^[a-zA-Zа-яА-ЯїЇіІ0-9./]{6}$

Літери та цифри, 6 символів (включаючи контрольний символ по спец. алгоритму)

7.

^[а-я,А-Я,ї,і,є,ё,ґ,Ї,І,Є,Ё,Ґ,a-z,A-Z,\-,',’,0-9,\.,№,`,",(,),_,»,«,“,”,;, ]{0,50}$

До 50 символів, допускаються літери та спеціальні символи 

8.

^[0-9]{8}$|^[0-9]{10}$

Тільки цифри, 8 або 10 символів

 
Comments