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 bxCarousel实现图片滚动切换效果示例代码
May 15 Javascript
如何让DIV可编辑、可拖动示例代码
Sep 18 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
Sep 04 Javascript
利用fecha进行JS日期处理
Nov 21 Javascript
JavaScript调试的多个必备小Tips
Jan 15 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
May 01 Javascript
package.json文件配置详解
Jun 15 Javascript
zTree节点文字过多的处理方法
Nov 24 Javascript
Vue侧滑菜单组件——DrawerLayout
Dec 18 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
Nov 12 Javascript
JavaScript中ES6规范中let和const的用法和区别
Aug 06 Javascript
微信小程序实现首页弹出广告
Dec 03 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生成xml时添加CDATA标签的方法
2014/10/17 PHP
php的4种常见运行方式
2015/03/20 PHP
实现PHP搜索加分页
2016/10/12 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
PHP实现的贪婪算法实例
2017/10/17 PHP
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
vue实现表格数据的增删改查
2017/07/10 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
2018/05/23 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
2018/06/28 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
发布一款npm包帮助理解npm的使用
2019/01/03 Javascript
JS实现二维数组元素的排列组合运算简单示例
2019/01/28 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
vue项目出现页面空白的解决方案
2019/10/31 Javascript
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
Python编写一个闹钟功能
2017/07/11 Python
Python数据分析pandas模块用法实例详解
2019/11/20 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
python实现低通滤波器代码
2020/02/26 Python
python数据库编程 ODBC方式实现通讯录
2020/03/27 Python
Python中常见的数制转换有哪些
2020/05/27 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
Python实现一个优先级队列的方法
2020/07/31 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
html5贪吃蛇游戏使用63行代码完美实现
2013/06/25 HTML / CSS
巴西网上药房:onofre
2016/11/21 全球购物
会计学生自我鉴定
2014/02/06 职场文书
优秀医生事迹材料
2014/02/12 职场文书
单位承诺书格式
2014/05/21 职场文书
市级青年文明号申报材料
2014/05/26 职场文书
小学教师个人总结
2015/02/05 职场文书
2015学校六五普法工作总结
2015/04/22 职场文书
Python必备技巧之字符数据操作详解
2022/03/23 Python