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 相关文章推荐
javascript的函数
Jan 31 Javascript
JavaScript Event学习第七章 事件属性
Feb 07 Javascript
JS检测输入字符是否包含非法字符的示例代码
Feb 11 Javascript
Express作者TJ告别Node.js奔向Go
Jul 14 Javascript
分享jQuery网页元素拖拽插件
Dec 01 Javascript
用js实现简单算法的实例代码
Sep 24 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
Aug 18 Javascript
laravel5.3 vue 实现收藏夹功能实例详解
Jan 21 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
Aug 12 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
Nov 28 Javascript
vue滚动tab跟随切换效果
Jun 29 Javascript
es6中new.target的作用和使用场景简单示例分析
Mar 14 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
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
Smarty模板快速入门
2007/01/04 PHP
php购物网站支付paypal使用方法
2010/11/28 PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
2014/08/18 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
jquery ready函数、css函数及text()使用示例
2013/09/27 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
2013/11/07 Javascript
javascript手工制作悬浮菜单
2015/02/12 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
jquery 中toggle的2种用法详解(推荐)
2016/09/02 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
input 标签实现输入框带提示文字效果(两种方法)
2017/10/09 Javascript
react-native fetch的具体使用方法
2017/11/01 Javascript
Bootstrap 按钮样式与使用代码详解
2018/12/09 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
[45:25]完美世界DOTA2联赛循环赛 PXG vs IO 第一场 11.06
2020/11/09 DOTA
Python contextlib模块使用示例
2015/02/18 Python
python实现下载指定网址所有图片的方法
2015/08/08 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
Python批处理删除和重命名文件夹的实例
2018/07/11 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
2019/06/27 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
项目计划书范文
2014/01/09 职场文书
课题研究阶段性总结
2015/08/13 职场文书
2016年校长新年寄语
2015/08/17 职场文书
MySQL学习之基础操作总结
2022/03/19 MySQL