Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Walidacja numeru VIN, Formaty bieżące i zamierzchłe
d0m1n1k_
post 20.10.2015, 14:41:01
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.


--------------------
Prywatna koncepcja pasji - SprawdzAuto.info
Go to the top of the page
+Quote Post
Regz
post 20.10.2015, 14:59:39
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 16.10.2015

Ostrzeżenie: (10%)
X----


Witam, zapraszam do wysukania rozwiązania w google.

http://stackoverflow.com/questions/3831764...validation-code
Go to the top of the page
+Quote Post
d0m1n1k_
post 9.02.2017, 08:14:39
Post #3





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.


--------------------
Prywatna koncepcja pasji - SprawdzAuto.info
Go to the top of the page
+Quote Post
kayman
post 9.02.2017, 11:23:40
Post #4





Grupa: Zarejestrowani
Postów: 556
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

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


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
Go to the top of the page
+Quote Post
rafkon1990
post 9.02.2017, 11:42:06
Post #5





Grupa: Zarejestrowani
Postów: 37
Pomógł: 9
Dołączył: 14.09.2016
Skąd: Śląskie

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


aż się prosi o zastosowanie strageii (wzorca).
Rozpoznajesz algorytm (długość + 3 pierwsze znaki, ewentualnie inna) i stosujesz strategię do określonego VIN.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 6.05.2025 - 09:03