Package org.miaixz.bus.core.data
Class VIN
java.lang.Object
org.miaixz.bus.core.data.VIN
VIN是Vehicle Identification Number的缩写,即车辆识别号码。VIN码是全球通行的车辆唯一标识符,由17位数字和字母组成。
不同位数代表着不同意义,具体解释如下:
- 1-3位:WMI制造商标示符,代表车辆制造商信息
- 4-8位:VDS车型识别代码,代表车辆品牌、车系、车型及其排量等信息
- 9位:校验位,通过公式计算出来,用于验证VIN码的正确性
- 10位:年份代号,代表车辆生产的年份
- 11位:工厂代码,代表车辆生产工厂信息
- 12-17位:流水号,代表车辆的生产顺序号
本实现参考以下标准:
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetCode()获取VIN码获取国家或地区代码char获取装配厂字码生产序号 年产量大于1000为6位,年产量小于1000的为3位getVDS()获取车辆说明部分 VDS(Vehicle Descriptor section)获取车辆特征代码(Vehicle Descriptor Code),相对于VDS,不包含校验位。getVIS()获取车辆指示部分 VIS(Vehicle Indicator Section)getWMI()获取世界制造厂识别代号WMI(World Manufacturer Identifier) 对年产量大于或等于1000辆的完整车辆或非完整车辆制造,车辆识别代号的第一部分为世界制造)厂识别代号(WMI) 对年产量小于1000辆的完整车辆和/或非完整车辆制造厂,第三部分的三、四、五位与第一部分的三位字码一起构成世界制造厂识别代号(WMI)getYear()Get year.getYear(int multiple) Gets year.boolean是否是年产量小于1000的车辆制造厂static VIN创建VINstatic boolean校验VIN码有效性,要求: 满足正则:Pattern.CAR_VIN_PATTERN满足第9位校验位和计算的检验值一致
-
Constructor Details
-
VIN
构造- Parameters:
vinCode- VIN码
-
-
Method Details
-
of
创建VIN- Parameters:
vinCode- VIN码- Returns:
- VIN对象
-
verify
校验VIN码有效性,要求:- 满足正则:
Pattern.CAR_VIN_PATTERN - 满足第9位校验位和计算的检验值一致
- Parameters:
vinCode- VIN码- Returns:
- 是否有效
- 满足正则:
-
getCode
获取VIN码- Returns:
- VIN码
-
getCountryCode
获取国家或地区代码- Returns:
- 国家或地区代码
-
getWMI
获取世界制造厂识别代号WMI(World Manufacturer Identifier) 对年产量大于或等于1000辆的完整车辆或非完整车辆制造,车辆识别代号的第一部分为世界制造)厂识别代号(WMI) 对年产量小于1000辆的完整车辆和/或非完整车辆制造厂,第三部分的三、四、五位与第一部分的三位字码一起构成世界制造厂识别代号(WMI)- Returns:
- WMI
-
isLessThan1000
public boolean isLessThan1000()是否是年产量小于1000的车辆制造厂- Returns:
- 是否年产量小于1000
-
getVDS
获取车辆说明部分 VDS(Vehicle Descriptor section)- Returns:
- VDS值
-
getVehicleDescriptorCode
获取车辆特征代码(Vehicle Descriptor Code),相对于VDS,不包含校验位。- Returns:
- 车辆特征代码
-
getVIS
获取车辆指示部分 VIS(Vehicle Indicator Section)- Returns:
- VIS
-
getYear
Get year.- Returns:
- the year
-
getOemCode
public char getOemCode()获取装配厂字码- Returns:
- 由厂家自行定义的装配厂字码 string
-
getYear
Gets year.- Parameters:
multiple- 1 代表从 1980年开始的第一个30年- Returns:
- the year
-
getProdNo
生产序号 年产量大于1000为6位,年产量小于1000的为3位- Returns:
- 生产序号 string
-