Kokoc
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Вот еще парочка полезных от меня: Проверка ИНН Код: sub CheckINN { my $inn = shift @_; my @mno = (3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8); my $cnt=0; my $newinn; return 0 if(length($inn)!=10 and length($inn)!=12); if(length($inn) == 10 ) { @mno=splice(@mno,2,9); for(0..8) { $cnt+=substr($inn,$_,1)*$mno[$_]; } $newinn = substr($inn,0,9).(($cnt%11)%10); } else { my $cnt1=0; for(0..10) { $cnt1+=substr($inn,$_,1)*$mno[$_]; } @mno=splice(@mno,1,10); for(0..9) { $cnt+=substr($inn,$_,1)*$mno[$_]; } $newinn = substr($inn,0,10).(($cnt%11)%10).(($cnt1%11)%10); } # print "INN: $inn NEWINN: $newinn "; return ($inn eq $newinn); } | Проверка ОГРН (только юридические лица) Код: sub CheckOGRN { my $ogrn = shift @_; return 0 if(length($ogrn)!=13 || ((substr($ogrn,0,12)%11)%10) != substr($ogrn,12,1)); return 1; } |
|