美文网首页
VIN 车架号 模11校验

VIN 车架号 模11校验

作者: 戈壁堂 | 来源:发表于2020-08-08 11:23 被阅读0次

Vehicle identification number

  • 1 ~ 3 位为世界制造商标识码(简称“WMI”)
  • 4 ~ 9 位为车辆说明部分(简称“VDS”)
  • 10 ~ 17位为车辆指示码(简称“VIS”)

第9位为校验码,只能是数字0-9或X(罗马数字10),

  • 其他16位字码对应数值乘以其所位置权重数
  • 上一步中的每一个位置的和除以11得到余数
  • 当余数为0-9时候,余数就是检验数字;当余数为10时,X为检验代码

每个字母代表的值(数字则为数字本身的值)——


每个位置的权重数——例如,第一位权重为8,第17位权重为2。第9位是校验位,所以权重为0。0乘任何数还是0。

假设VIN号码为1M8GDM9A_KP042788 (第9位为校验位,忽略),那么检查规则为——

  • 第一行为VIN的号码
  • 第二行为每个VIN号码的(数字)值
  • 第三行为每个位置的权重值
  • 第四行我每个位置最终的计算值

最终将第四行都加起来结果为351, 除以11,余数为10。根据规则,校验码为X

所以最终的VIN号码为1M8GDM9AXKP042788

func checkVinDigit(vin string) string {
    transKeys := map[string]int{"A": 1, "B": 2, "C": 3, "D": 4, "E": 5, "F": 6, "G": 7, "H": 8, "J": 1, "K": 2, "L": 3, "M": 4, "N": 5, "P": 7, "R": 9, "S": 2, "T": 3, "U": 4, "V": 5, "W": 6, "X": 7, "Y": 8, "Z": 9}

    positionWeight := map[int]int{1: 8, 2: 7, 3: 6, 4: 5, 5: 4, 6: 3, 7: 2, 8: 10, 9: 0, 10: 9, 11: 8, 12: 7, 13: 6, 14: 5, 15: 4, 16: 3, 17: 2}

    var sum int
    for i, c := range vin {
        var s = string(c)
        if i != 8 {
            var val int
            if v, value := transKeys[s]; value {
                val = v
            } else {
                in, _ := strconv.Atoi(s)
                val = in
            }
            sum += val * positionWeight[i+1]
        }
    }

    r := sum % 11

    if r == 10 {
        return "X"
    }
    return strconv.Itoa(r)
}

相关文章

  • VIN 车架号 模11校验

    Vehicle identification number 1 ~ 3 位为世界制造商标识码(简称“WMI”) 4...

  • vin码识别车架号识别技术

    关键词:vin码识别车架号识别技术 汽车VIN码识别 VIN码识别 车架号识别 车架号OCR识别 vin码识别 O...

  • 【车险投保】车架号,VIN 码

    网站投保时需要您提供车架号,VIN码,发动机号;什么是VIN码/车架号?发动机号? VIN码/车架号:VIN码即车...

  • 扫一扫识别汽车vin码SDK

    关键词:汽车VIN码识别 移动端OCR识别 VIN码识别 车架号识别 车架号OCR识别 大架号识别 汽车Vin码识...

  • vin码识别已经诞生,还在傻乎乎手工录入吗?

    VIN码/车架号码由17位字母和数字混合而成,从车辆VIN码/车架号码可以解析出非常多的信息,如车辆的生产厂家、年...

  • VIN码识别SDK 的二次开发

    今天小编主要来分享下VIN码识别(又称车架号识别)二次开发的一些知识。 关键核心:vin码识别、车架号识别、汽车V...

  • 为什么要研发vin码识别?

    我们做VIN码识别之前要先评估使用到的核心技术: 汽车VIN码识别 移动端OCR识别 VIN码识别 车架号识别 车...

  • 移动端VIN码识别

    移动端扫描vin码(车架号)识别,识别出vin码的技术是我公司开发的基于移动平台vin码识别软件开发包,支持and...

  • 移动端VIN码识别

    移动端扫描vin码(车架号)识别,识别出vin码的技术是我公司开发的基于移动平台vin码识别软件开发包,支持and...

  • 移动端车架号识别

    移动端扫描vin码(车架号)识别,识别出vin码的技术是我公司开发的基于移动平台vin码识别软件开发包,支持and...

网友评论

      本文标题:VIN 车架号 模11校验

      本文链接:https://www.haomeiwen.com/subject/jhetdktx.html