zl程序教程

您现在的位置是:首页 >  前端

当前栏目

JAVASCRIPT车架号识别/验证函数代码汽车车架号验证程序

JavaScript识别程序代码 函数 验证 汽车
2023-06-13 09:14:32 时间
算法根源:
大致是这样车辆识别代码的第9位是检验位,检验位可用0—9中任一数字或字母“X”表示。其它位置的数字和字母代表的意义个厂家含义可能不同,但在VIN码的其他16位字码确定后,按以下方法计算得出第九位的检验位。
首先将其它16位中的字母按下列关系转换成数字:
A=1B=2C=3D=4E=5F=6G=7H=8J=1K=2L=3M=4N=5P=7R=9S=2T=3U=4V=5W=6X=7Y=8Z=9
每个位置都有个加权数:
位置:1234567891011121314151617
权数:876543210*98765432
最后将检验位之外的16位每一位的加权系数乘以此位的对应值,再将各乘积相加,求得的和除以11,所得的余数就是检验位的数值。如果余数为10,则检验位为字母“X”。
JS代码:
复制代码代码如下:

<scripttype="text/javascript">
varArr=newArray();
varBrr=newArray();
Arr["A"]=1;
Arr["B"]=2;
Arr["C"]=3;
Arr["D"]=4;
Arr["E"]=5;
Arr["F"]=6;
Arr["G"]=7;
Arr["H"]=8;
Arr["J"]=1;
Arr["K"]=2;
Arr["L"]=3;
Arr["M"]=4;
Arr["N"]=5;
Arr["P"]=7;
Arr["R"]=9;
Arr["S"]=2;
Arr["T"]=3;
Arr["U"]=4;
Arr["V"]=5;
Arr["W"]=6;
Arr["X"]=7;
Arr["Y"]=8;
Arr["Z"]=9;
Arr["1"]=1;
Arr["2"]=2;
Arr["3"]=3;
Arr["4"]=4;
Arr["5"]=5;
Arr["6"]=6;
Arr["7"]=7;
Arr["8"]=8;
Arr["9"]=9;
Arr["0"]=0;
Brr[1]=8;
Brr[2]=7;
Brr[3]=6;
Brr[4]=5;
Brr[5]=4;
Brr[6]=3;
Brr[7]=2;
Brr[8]=10;
Brr[9]=0;
Brr[10]=9;
Brr[11]=8;
Brr[12]=7;
Brr[13]=6;
Brr[14]=5;
Brr[15]=4;
Brr[16]=3;
Brr[17]=2;
functiongetCheckCode(sVIN)
{
varsKYZF="ABCDEFGHJKLMNPRSTUVWXYZ1234567890";
varsJYW="";
varbl=false;
varblKYZF=false;
if(sVIN.length==17)
{
variJQS=0,intTemp=0;
ht=Arr;
htZM=Brr;
try
{
for(vari=0;i<sVIN.length;i++)
{
if(sKYZF.indexOf(sVIN.substr(i,1))!=-1)
{
blKYZF=true;
iJQS=iJQS+parseInt(ht[sVIN.substr(i,1)])*parseInt(htZM[(i+1)]);
}
else
{
blKYZF=false;
break;
}
}
if(blKYZF)
{
intTemp=iJQS%11;
if(intTemp==10)
{
sJYW="X";
}
else
{
sJYW=intTemp.toString();
}
if(sJYW==sVIN.substr(8,1))bl=true;
}
else
{
bl=false;
}
}
catch(err)
{
bl=false;
}
}
returnbl;
}
alert(getCheckCode("WVGAB97PXCD010692"));
</script>