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 相关文章推荐
图片按比例缩放函数
Jun 26 Javascript
纯JS实现动态时间显示代码
Feb 08 Javascript
浅谈javascript中for in 和 for each in的区别
Apr 23 Javascript
js实现的下拉框二级联动效果
Apr 30 Javascript
jquery if条件语句的写法
May 19 Javascript
浅析BootStrap Treeview的简单使用
Oct 12 Javascript
浅谈jQuery before和insertBefore的区别
Dec 04 Javascript
Angular-Touch库用法示例
Dec 22 Javascript
深入理解Vue router的部分高级用法
Aug 15 Javascript
前后端如何实现登录token拦截校验详解
Sep 03 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
Sep 16 Javascript
js实现验证码干扰(动态)
Feb 23 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
日本十大惊悚动漫
2020/03/04 日漫
PHP4与PHP5的时间格式问题
2008/02/17 PHP
PHP register_shutdown_function函数的深入解析
2013/06/03 PHP
神盾加密解密教程(二)PHP 神盾解密
2014/06/08 PHP
php导入模块文件分享
2015/03/17 PHP
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
按下回车键指向下一个位置的一个函数代码
2014/03/10 Javascript
一个可以增加和删除行的table并可编辑表格中内容
2014/06/16 Javascript
javascript基础知识
2016/06/07 Javascript
AngularJS基础 ng-keyup 指令简单示例
2016/08/02 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
Angular4学习笔记之根模块与Ng模块
2017/09/09 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
使用vue-infinite-scroll实现无限滚动效果
2018/06/22 Javascript
vue实现动态列表点击各行换色的方法
2018/09/13 Javascript
python字符串,数值计算
2016/10/05 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
python 字典 按key值大小 倒序取值的实例
2018/07/06 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
2019/10/28 Python
解决tensorflow训练时内存持续增加并占满的问题
2020/01/19 Python
pytorch 使用加载训练好的模型做inference
2020/02/20 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
使用CSS实现阅读进度条
2017/02/27 HTML / CSS
html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式
2012/12/07 HTML / CSS
nohup的用法
2012/11/26 面试题
某公司面试题
2012/03/05 面试题
大型会议策划方案
2014/05/17 职场文书
政风行风整改方案
2014/10/25 职场文书
学生检讨书如何写
2014/10/30 职场文书
2016学校先进集体事迹材料
2016/02/29 职场文书
Python趣味爬虫之用Python实现智慧校园一键评教
2021/05/28 Python