Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [dowod osobisty] liczba kontrolna
Forum PHP.pl > Inne > Hydepark
terabit
Witam,
od lat ludzie mówią że na odwrocie dowodu osobistego w drugim rzędzie, ostatnia cyfra to ilość osób o tym samym imieniu i nazwisku.
Jest to według mnie kompletną bzdurą, wystarczy wejść tutaj - http://wipos.p.lodz.pl/zylla/ut/paszport.html#finalcheck

Tylko problem w tym że i tak nikt nie wieży że tak jest, chyba mam strasznie tępych znajomych ale nic na to nie poradzę

Na tej stronie jest równie opisane jak obliczyć taką liczbę kontrolną tylko coś mi to nie wychodzi, trochę źle to wytłumaczyli a na Google nic nie znalazłem.

Błagam pomóżcie przez to przebrnąć, później napiszę program który będzie taką liczbę obliczał i będę miał dowód dla cwaniaków winksmiley.jpg

Pozdrawiam winksmiley.jpg
klocu
@Lion_87: koledze nie chodziło ściśle o sam numer DO tylko o walidację tego pola maszynowego na odwrocie

@terabit: na początek powiedz ludziom, żeby nie wierzyli we wszystko co pojawi się na demotywatorach.
Następna kwestia to czy warto pisać taki walidator? Musiałbyś jakoś odczytywać w sposób (pół)automatyczne ten ciąg danych, przepuścić przez OCR itd.

Dla zastosowania hobbystycznego - jak najbardziej smile.gif
Co robisz? Musisz wyłuskać dane z odpowiednich pól (1 do 10, 14 do 20, i 22 do 43) tworząc z nich szereg danych.
Dalej każdemu polu przypisujesz wagi: 7 3 1 i powtarzasz je do momentu zakończenia ciągu danych.
Oczywiście wszystkie znaki typu "alpha" zamieniasz na odpowiedniki liczbowe.
Wymnażasz, sumujesz, robisz modulo 10 i mamy wynik.

Wbrew pozorom zylla niejednokrotnie ratował mi tyłek podczas konieczności analizy sum kontrolnych kodów.
Na spokojnie usiądź, przeczytaj raz jeszcze cały manual i twórz. To jest do odczytania. Potrzeba odrobiny samozaparcia.
terabit
  1.  
  2. kod usunąłem bo miał błędy ;)
  3.  


Napisałem coś takiego, dla jednego dowodu działa, dla innego nie...
Kod moze nie wyglada za ciekawie... no ale co tam ... winksmiley.jpg

Pomożecie? winksmiley.jpg
klocu
Pomożemy.

Wracając do zylli (zylli'ego) to tam jest trochę namieszane w odwołaniach.
Musisz wybrać pola: numer DO + cyfra kontrolna tego pola z pierwszej linii, data urodzenia + cyfrę kontrolna z drugiej linii oraz datę ważności DO + sumę kontrolną tego pola.
Razem wychodzą tego 24 znaki, zamieniasz litery, i dalej jak przy większości sum kontrolnych.

Co do kodu php. Sorry nie za wiele tu widać.
Jakieś switch / case powtórzone dwukrotnie. Mały bałagan.

W gruncie rzeczy kilka tablic danych, dobrze przypisane wagi to klucz do sukcesu.
Jak coś to pytaj, mam swoją wersję kodu tylko nie bardzo mam na czym przetestować. (poza swoim DO na którym liczy poprawnie) smile.gif
terabit
Cytat(klocu @ 5.03.2010, 08:19:55 ) *
Musisz wybrać pola: numer DO + cyfra kontrolna tego pola z pierwszej linii, data urodzenia + cyfrę kontrolna z drugiej linii oraz datę ważności DO + sumę kontrolną tego pola.


Numer Dowodu czyli np. ANS000182? a cyfra kontrolna to która?
No i do daty urodzenia cyfra kontrolna to która? (ta ostatnia która chce sprawdzać?) winksmiley.jpg
Tak samo z sumą kontrolną dla ważności dowodu...

A mógłbyś to tutaj zaznaczyć - http://www.czernichow.pl/str/images/dowod/...osob_rewers.gif ?
Łatwiej było by zrozumieć, staram się ale coś ciężko...

Cytat(klocu @ 5.03.2010, 08:19:55 ) *
... mam swoją wersję kodu tylko nie bardzo mam na czym przetestować. (poza swoim DO na którym liczy poprawnie) smile.gif


a nie mógłbyś udostępnić? winksmiley.jpg


EDIT:

Może o to chodzi - http://img242.imageshack.us/img242/9204/asdfg.gif ? winksmiley.jpg


EDIT2:

Zrobiłem winksmiley.jpg
tutaj można przetestować - http://mpage.idl.pl/numer_kontrolny/
romekromek
Cytat : "Wracając do zylli (zylli'ego) to tam jest trochę namieszane w odwołaniach."

Jeśli chodzi o odmianę to powinno być Zylly a nie Zylli (zylli'ego).

Mógłbyś sprecyzować co jest namieszane w odwołaniach?

Chętnie poprawię tekst artykułu na http://wipos.p.lodz.pl/zylla/ut/paszport.html#dowodosobisty
żeby był bardziej zrozumiały.

Pozdrawiam

Romek Żyłła

PS formularz na http://mpage.idl.pl/numer_kontrolny/ napisany przez terabita działa poprawnie także dla mojego dowodu osobistego. :-)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.