알고리즘의 유래:
대략 이렇게 되어있습니다. 차량식별코드 9자리가 체크디지트인데, 체크디지트는 0부터 9까지의 숫자나 문자 "로 표현이 가능합니다. 엑스". 그 외 위치에 있는 숫자와 문자의 의미는 제조사마다 다를 수 있으나 VIN 코드의 나머지 16자리 코드가 결정된 후 체크디지트의 9번째 자리는 다음 방법에 따라 계산됩니다.
먼저 다음 관계식에 따라 나머지 16자를 숫자로 변환합니다.
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
각각 포지션에는 가중치가 부여된 숫자가 있습니다:
포지션: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
가중치: 8 7 6 5 4 3 2 10 * 9 8 7 6 5 4 3 2
마지막으로 체크 디지트를 제외한 각 16비트 비트의 가중치 계수에 이 비트의 해당 값을 곱한 후 그 합을 11로 나누고 나머지가 체크 디지트 값이 됩니다. 나머지가 10이면 검사 숫자는 문자 "X"입니다.
JS 코드: