Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Walidacja numeru VIN
Forum PHP.pl > Forum > Przedszkole
d0m1n1k_
Witam,
zastanawiam się czy dostępna jest gdzieś walidacja numeru VIN przewidująca numery zgodne z ISO3779 (europa/azja), standardem amerykańskim oraz zamierzchłymi niestandardowymi ciągami do 1981.

Ewentualnie jak przerobić poniższą regułę w pętli aby działała dla każdego systemu (ISO/Ameryka/Stare do 17 znaków):

  1. $vin = "<numerek_vin>";
  2. $parent = "^[A-HJ-NPR-Z\\d]{8}[\\dX][A-HJ-NPR-Z\\d]{2}\\d{6}$^";
  3. if(preg_match ($parent, $vin)){}


Z góry dziękuję za pomoc.
Regz
Witam, zapraszam do wysukania rozwiązania w google.

http://stackoverflow.com/questions/3831764...validation-code
d0m1n1k_
  1. /^[^\Wioq]{17}$/


To zdecydowanie za mało.
Zaś cała funkcja to zdecydowanie za dużo.

Poza tym problemem są stare numery VIN
Przykład, Ford z 1970 roku ma dziesięciocyfrowy VIN CLCCLCCCC (C=Cyfra, L=Litera).
Przed 1981 rokiem ilość znaków, algorytm ich przydzielania czy układ gdzie może być liczba a gdzie litera nie była ustalona.
Lecieli jak im popadło - Ford dawał 0F0 na początku, a przykładowo Fiaty miały 100*CCCCCC.
Niby też dziesięć znaków, ale inny układ inne reguły.

Podsumowując, chyba zadam pytanie: Czy warto szukać czy lepiej po prostu rypnąć blokadę do 17 znaków alfanumerycznych i olać perfekcję?

Chciałbym odgrzebać niniejszy temat.
Czy natknął się może ktoś na poprawnie działający skrypt sprawdzania poprawności numeru VIN zarówno dla pojazdów z USA jak i całego normalnego (z'ISO'wanego) świata?

Obecnie moją bolączką jest wszystko nie z USA.
Bardzo proszę o pomoc.
kayman
czasami nie da się walidować jakiejś danej przy pomocy jednej wygodnej formułki tylko trzeba zastosować wiele formułek

jeżeli zmieniało się to w czasie lub jest różne w różnych regionach to zrób sobie tablicę z formułami i po sprawie, zupełnie przy okazji możesz eliminować źle podane inne dane jak np rocznik, kraj produkcji etc
rafkon1990
aż się prosi o zastosowanie strageii (wzorca).
Rozpoznajesz algorytm (długość + 3 pierwsze znaki, ewentualnie inna) i stosujesz strategię do określonego VIN.
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.