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 event使用方法详解
Apr 28 Javascript
js给onclick赋值传参数的两种方法
Nov 25 Javascript
原生javascript实现Tab选项卡切换功能
Jan 12 Javascript
jquery背景跟随鼠标滑动导航
Nov 20 Javascript
Javascript 闭包详解及实例代码
Nov 30 Javascript
javascript获取指定区间范围随机数的方法
Sep 08 Javascript
解析vue data不可以使用箭头函数问题
Jul 03 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
Nov 13 Javascript
jQuery轮播图功能制作方法详解
Dec 03 jQuery
微信小程序使用前置摄像头拍照
Oct 22 Javascript
基于vuex实现购物车功能
Jan 10 Vue.js
vue使用wavesurfer.js解决音频可视化播放问题
Apr 04 Vue.js
人人网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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
php使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
如何用PHP来实现一个动态Web服务器
2015/07/29 PHP
Yii中创建自己的Widget实例
2016/01/05 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
javascript实现的基于金山词霸网络翻译的代码
2010/01/15 Javascript
Javascript笔记一 js以及json基础使用说明
2010/05/22 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
js数组循环遍历数组内所有元素的方法
2014/01/18 Javascript
iframe窗口高度自适应的又一个巧妙实现思路
2014/04/04 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
轻松实现javascript图片轮播特效
2016/01/13 Javascript
javascript瀑布流式图片懒加载实例解析与优化
2016/02/23 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
从零开始做一个pagination分页组件
2017/03/15 Javascript
利用Javascript获取选择文本所在的句子详解
2017/12/03 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
2018/05/02 Javascript
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
Python实现的选择排序算法示例
2017/11/29 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
2019/04/29 Python
Python 20行简单实现有道在线翻译的详解
2019/05/15 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
python3格式化字符串 f-string的高级用法(推荐)
2020/03/04 Python
关于Python错误重试方法总结
2021/01/03 Python
澳大利亚在线百货商店:Real Smart
2017/08/13 全球购物
英国男士时尚网站:Dandy Fellow
2018/02/09 全球购物
学校周年庆活动方案
2014/08/22 职场文书
西安导游词
2015/02/12 职场文书
2015年企业团支部工作总结
2015/05/21 职场文书
人民调解协议书
2016/03/21 职场文书
讨论nginx location 顺序问题
2022/05/30 Servers