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

算法根源:
大致是这样车辆识别代码的第9位是检验位,检验位可用0—9中任一数字或字母“X”表示。其它位置的数字和字母代表的意义个厂家含义可能不同,但在VIN码的其他16位字码确定后,按以下方法计算得出第九位的检验位。
首先将其它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代码:


代码如下:

<script type="text/javascript">
var Arr = new Array();
var Brr = new Array();
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;
function getCheckCode(sVIN)
{
var sKYZF="ABCDEFGHJKLMNPRSTUVWXYZ1234567890";
var sJYW ='';
var bl = false;
var blKYZF = false;
if (sVIN.length == 17)
{
var iJQS=0,intTemp=0;
ht = Arr;
htZM = Brr;
try
{
for (var i = 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;
}
}
return bl;
}
alert(getCheckCode("WVGAB97PXCD010692"));
</script>

(0)

相关推荐

  • javascript 身份证号码验证函数(可辨真伪,支持15或18位身份证号)测试误差为0

    //验证身份证号方法 var test=function(idcard){ var Errors=new Array("验证通过!","身份证号码位数不对!","身份证号码出生日期超出范围或含有非法字符!","身份证号码校验错误!","身份证地区非法!"); var area={11:"北京",12:"天津",13:"河北",14:"山西

  • vbscript和javascript版的15位, 18位的身份证号码的验证函数.以及根据身份证取省份,生日,性别

    工作中需要用到身份证验证,还要支持检查15位和18位. 我一时手懒,问同事有没有现成的函数可用,同事google了一下,扔给我一个 asp-vbscript版本的函数.可我这边是客户端javascript呀,于是用改 vbs-->js 改完发现蛮好用的,同时发现 vbscript真的很啰嗦,居然写了50多行,我改成js 只用了11行. 当然,我并完全是指vbscript啰嗦,那个写这段vbs代码的无名氏也是个唐僧性格..... 先放出 vbscript代码,    复制代码 代码如下: <sc

  • 简单的js表单验证函数

    网站制作中,表单验证的功能是很常用的.有些时候,用一些成型的js控件会比较方便,但是又过于庞大和难以维护(本人的js水平不高)所以干脆自己写了一个.至于好不好,灵活不灵活,还请大家指点(先上图,很难看,请不要介意): 代码: 复制代码 代码如下: 表单验证js代码 var fv ={    lang: "zh-cn",  //错误提示语言    inValidedStr: "=",  //初始随意复制,使其长度不为0    mail: function(elemen

  • 经常用到的javascript验证函数收集第1/3页

    建议大家收藏javascript验证函数,以后遇到就可以直接拿来用了/* ================================================================== 是否为空,只判断字符串 null或0长为空,经过trim IsStringNull(string) ================================================================== */ function IsStringNull(str)

  • JS支持带x身份证号码验证函数

    <script type="text/javascript"> alert(isIdCardNo("440781197007220512")); //--身份证号码验证-支持新的带x身份证 function isIdCardNo(num)  {     var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);     var error;     var varArray = ne

  • javascript 手机号码正则表达式验证函数 原创

    复制代码 代码如下: function checkMobile(){     var sMobile = document.mobileform.mobile.value     if(!(/^1[3|4|5|8][0-9]\d{4,8}$/.test(sMobile))){         alert("不是完整的11位手机号或者正确的手机号前七位");         document.mobileform.mobile.focus();         return false;

  • js form 验证函数 当前比较流行的错误提示

    前段时间写了一个 js数据验证.js email验证.js url验证.js长度验证.js数字验证等 弹出对话框形式的 但是,现在不太流行那种很不友好的方式,于是重写了一个,封装得更加好的,更友好的层形式 共享给大家,如果大家使用有bug,请大家给我留言完善,谢谢了. 保存为 test.js 复制代码 代码如下: /** * 数据验证框架.增加了对id字段检查出错时,直接在对应后面添加一< span>元素来显示错误信息. * * @author wangzi6hao * @version 2.

  • javascript 常用验证函数总结

    /** * 2010-7-13 * 贺 臣 * 情 缘 * js各种表单数据验证 */ /**************************************************************************************/ /*************************************数字的验证*****************************************/ /******************************

  • 28个JS验证函数收集

    JS验证函数的调用方法和注意: 1.给表单设置onsubmit="return test()",配合<input type="submit" name="Submit" value="check"> 进行提交. 2.<input type=text onkeydown="test();"> //当鼠标按下直接调用函数验证 3.<input type=text onblur=&q

  • Js 小数验证函数代码(基于正则)

    (1)OnKeyPress 事件验证 用来验证输入操作 复制代码 代码如下: function OnKeyPressValidate(obj, event, len) { var e = window.event || event; var key = e.keyCode ? e.keyCode : e.which; var selectedText = ""; if (window.getSelection) { var st = obj.selectionStart; var ed

随机推荐