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 相关文章推荐
js 实现复制到粘贴板的功能代码
May 13 Javascript
jquery下checked取值问题的解决方法
Aug 09 Javascript
模拟多级复选框效果的jquery代码
Aug 13 Javascript
node.js中的fs.open方法使用说明
Dec 17 Javascript
jquery输入数字随机抽奖特效的简单实现代码
Jun 10 Javascript
解析JavaScript中的字符串类型与字符编码支持
Jun 24 Javascript
AngularJS教程之MVC体系结构详解
Aug 16 Javascript
H5手机端多文件上传预览插件
Apr 21 Javascript
使用bootstrap插件实现模态框效果
May 10 Javascript
javascript帧动画(实例讲解)
Sep 02 Javascript
vue移动端html5页面根据屏幕适配的四种解决方法
Oct 19 Javascript
使用TS来编写express服务器的方法步骤
Oct 29 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中使用sockets:从新闻组中获取文章
2006/10/09 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
2010/08/01 PHP
php 深入理解strtotime函数的使用详解
2013/05/23 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
2015/05/21 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
PHP7扩展开发教程之Hello World实现方法示例
2017/08/03 PHP
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
JavaScript 反科里化 this [译]
2012/09/20 Javascript
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
jquery获取当前点击对象的value方法
2014/02/28 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
利用原生JavaScript获取元素样式只是获取而已
2014/10/08 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
解决webpack打包速度慢的解决办法汇总
2017/07/06 Javascript
vue单页面应用打开新窗口显示跳转页面的实例
2018/09/21 Javascript
Vue+Element UI+vue-quill-editor富文本编辑器及插入图片自定义
2019/08/20 Javascript
JavaScript Array对象基本方法详解
2019/09/03 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
python分割文件的常用方法
2014/11/01 Python
操作Windows注册表的简单的Python程序制作教程
2015/04/07 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
2018/05/29 Python
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
详解python单元测试框架unittest
2018/07/02 Python
python中多个装饰器的调用顺序详解
2019/07/16 Python
Python-opencv实现红绿两色识别操作
2020/06/04 Python
授权委托书怎么写
2014/04/03 职场文书
离职证明格式样本
2015/06/12 职场文书
初中开学典礼新闻稿
2015/07/17 职场文书
我的生日感言
2015/08/03 职场文书
遗嘱格式范本
2015/08/07 职场文书
2019毕业论文致谢词
2019/06/24 职场文书
导游词之南京栖霞山
2019/10/18 职场文书
Python基于百度API识别并提取图片中文字
2021/06/27 Python
spring boot项目application.properties文件存放及使用介绍
2021/06/30 Java/Android
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers