2

我正在尝试编写一个简单的 VIN (ISO 3779) 解码器:制造商和型号年份。不过,我在解码模型年份时遇到了一些问题。根据维基百科

For passenger cars, and for multipurpose passenger vehicles and trucks with a gross vehicle weight rating of 10,000 lb (4,500 kg) or less, if position 7 is numeric, the model year in position 10 of the VIN refers to a year in the range 1980–2009. If position 7 is alphabetic, the model year in position 10 of VIN refers to a year in the range 2010–2039.

我的汽车的 VIN(2012 年款)包含以下信息:

VSS---1--C-------
12345678901234567

制造商:SEAT,车型年份:1982(一些在线 VIN 解码器给我 1982,其他一些给我 2012)

我怎样才能修改我的解码器,这样我才能做到这一点,而不是做一个讨厌的if (Manufacturer == "SEAT") Year += 30;黑客?

4

1 回答 1

1

阅读第 7 和第 10 位后,这里有一些 PHP 代码:

$year = date_1980_2009( $position_10 );  # use your current date function...

if ( preg_match( "/^[A-Z]$/i", $position_7 ) ) $year += 30;  # add 30 years if 7 is alphabetic

话虽如此,你的车似乎没有遵守规则。例外情况需要编码例外——这不是黑客。对不起。

于 2012-06-26T21:16:30.983 回答