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 Firefox3.5中操作select的问题
Jul 10 Javascript
JQuery 浮动导航栏实现代码
Aug 27 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
Mar 21 Javascript
原生javaScript做得动态表格(注释写的很清楚)
Dec 29 Javascript
javascript实现省市区三级联动下拉框菜单
Nov 17 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
Jun 01 Javascript
微信小程序前端源码逻辑和工作流
Sep 25 Javascript
JavaScript仿聊天室聊天记录
Dec 27 Javascript
深入理解移动前端开发之viewport
Oct 19 Javascript
vue项目中使用vue-i18n报错的解决方法
Jan 13 Javascript
小程序登录/注册页面设计的实现代码
May 24 Javascript
node.js命令行教程图文详解
May 27 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
多php服务器实现多session并发运行
2006/10/09 PHP
PHP在线生成二维码(google api)的实现代码详解
2013/06/04 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
JavaScript全排列的六种算法 具体实现
2013/06/29 Javascript
根据身份证号自动输出相关信息(籍贯,出身日期,性别)
2013/11/15 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
2017/04/25 Javascript
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
vue mint-ui tabbar变组件使用
2018/05/04 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
JavaScript实现多文件下载方法解析
2020/08/07 Javascript
[09:37]2018DOTA2国际邀请赛寻真——不懈追梦的Team Serenity
2018/08/13 DOTA
python实现的简单猜数字游戏
2015/04/04 Python
使用Python生成url短链接的方法
2015/05/04 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
2018/04/19 Python
python使用matplotlib库生成随机漫步图
2018/08/27 Python
python支付宝支付示例详解
2019/08/22 Python
python框架Django实战商城项目之工程搭建过程图文详解
2020/03/09 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
Django 实现图片上传和下载功能
2020/12/31 Python
西班牙鞋子和箱包在线销售网站:zapatos.es
2020/02/17 全球购物
护理专业应届毕业生推荐信
2013/11/15 职场文书
工作目标责任书
2014/07/23 职场文书
工作证明英文模板
2014/10/21 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书
管理人员岗位职责
2015/02/14 职场文书
七一活动主持词
2015/06/29 职场文书
html中两种获取标签内的值的方法
2022/06/16 jQuery
python如何将mat文件转为png
2022/07/15 Python