Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Walidacja numeru VIN, Formaty bieżące i zamierzchłe
d0m1n1k_
post
Post #1





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
d0m1n1k_
post
Post #2





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


  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.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 18:17