我正在尝试编写一个简单的VIN(ISO 3779)解码器:制造商和型号年份。不过,我在解码模型年时遇到了一些问题。根据{{3}}:
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;
黑客?
答案 0 :(得分:0)
阅读了第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
话虽如此,你的车似乎没有遵守规则。特殊情况需要编码异常 - 这不是黑客攻击。遗憾。