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


Posted in Javascript onJanuary 08, 2012

算法根源:
大致是这样车辆识别代码的第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>
Javascript 相关文章推荐
jquery实现简单的拖拽效果实例兼容所有主流浏览器
Jun 21 Javascript
JS中怎样判断undefined(比较不错的方法)
Mar 27 Javascript
AngularJS基础 ng-mouseleave 指令详解
Aug 02 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
Jan 19 Javascript
轻量级JS Cookie插件js-cookie的使用方法
Mar 22 Javascript
手写简单的jQuery雪花飘落效果实例
Apr 22 jQuery
如何解决vue2.0下IE浏览器白屏问题
Sep 13 Javascript
小程序点击图片实现自动播放视频
May 29 Javascript
JavaScript设计模式之装饰者模式实例详解
Jan 17 Javascript
详解Vue中的scoped及穿透方法
Apr 18 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
Jul 31 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
Apr 10 Javascript
人人网javascript面试题 可以提前实现下
Jan 05 #Javascript
javascript是怎么继承的介绍
Jan 05 #Javascript
js 链式延迟执行DOME
Jan 04 #Javascript
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
Jan 04 #Javascript
Textarea与懒惰渲染实现代码
Jan 04 #Javascript
js中有关IE版本检测
Jan 04 #Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
Jan 04 #Javascript
You might like
Terran历史背景
2020/03/14 星际争霸
收音机频率指针指示不准确和灵敏度低问题
2021/03/02 无线电
PHP分页类集锦
2014/11/18 PHP
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
$(document).ready(function() {})不执行初始化脚本
2014/06/19 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
jQuery学习笔记之Ajax用法实例详解
2015/12/01 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
JavaScript模拟鼠标右键菜单效果
2020/12/08 Javascript
javascript 中的console.log和弹出窗口alert
2016/08/30 Javascript
解决Vue打包后访问图片/图标不显示的问题
2019/07/25 Javascript
jQuery实现穿梭框效果
2021/01/19 jQuery
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
[53:38]OG vs LGD 2018国际邀请赛淘汰赛BO3 第三场 8.26
2018/08/30 DOTA
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
python写xml文件的操作实例
2014/10/05 Python
在ironpython中利用装饰器执行SQL操作的例子
2015/05/02 Python
Python 正则表达式的高级用法
2016/12/04 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
python搜索算法原理及实例讲解
2020/11/18 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
CSS3制作皮卡丘动画壁纸的示例
2020/11/02 HTML / CSS
ASOS西班牙官网:英国在线时尚和美容零售商
2020/01/10 全球购物
职业技术学校毕业生推荐信
2013/12/03 职场文书
舞蹈比赛获奖感言
2014/02/04 职场文书
会计岗位描述
2014/02/22 职场文书
课程改革实施方案
2014/03/16 职场文书
平安家庭事迹材料
2014/12/20 职场文书
2015年安全工作总结范文
2015/04/02 职场文书
会议通知
2015/04/15 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
幼儿教师继续教育培训心得体会
2016/01/19 职场文书