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 相关文章推荐
创建一个复制UBB软件信息的链接或按钮的js代码
Jan 06 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
Jan 04 Javascript
js新闻滚动 js如何实现新闻滚动效果
Jan 07 Javascript
javascript属性访问表达式用法分析
Apr 25 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
Jun 18 Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
May 23 Javascript
使用Angular.js开发的注意事项
Oct 19 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
Mar 07 Javascript
JavaScript正则表达式简单实用实例
Jun 23 Javascript
Node.js成为Web应用开发最佳选择的原因
Feb 05 Javascript
详解JavaScript 的变量
Mar 08 Javascript
微信小程序实现文件预览
Oct 22 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分页函数
2006/10/09 PHP
使用 php4 加速 web 传输
2006/10/09 PHP
php 代码优化的42条建议 推荐
2009/09/25 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
VUE axios上传图片到七牛的实例代码
2017/07/28 Javascript
Jquery让form表单异步提交代码实现
2019/11/14 jQuery
vue+Element-ui实现分页效果
2020/11/15 Javascript
jQuery实现手风琴特效
2021/01/11 jQuery
python3生成随机数实例
2014/10/20 Python
对比Python中__getattr__和 __getattribute__获取属性的用法
2016/06/21 Python
浅谈python中scipy.misc.logsumexp函数的运用场景
2016/06/23 Python
pandas数值计算与排序方法
2018/04/12 Python
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
django获取from表单multiple-select的value和id的方法
2019/07/19 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
Python爬取微信小程序通用方法代码实例详解
2020/09/29 Python
python 如何设置守护进程
2020/10/29 Python
Groupon比利时官方网站:特卖和网上购物高达-70%
2019/08/09 全球购物
软件测试面试题
2015/10/21 面试题
金融专业大学生自我评价
2014/01/09 职场文书
大学生军训广播稿
2014/01/24 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
公司司机岗位职责范本
2014/03/03 职场文书
党员公开承诺书
2014/03/25 职场文书
大学学风建设方案
2014/05/04 职场文书
活动总结报告格式
2014/05/09 职场文书
研究生求职自荐书
2014/06/23 职场文书
幼儿园园长六一致辞
2015/07/31 职场文书
《学会看病》教学反思
2016/02/17 职场文书