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 相关文章推荐
关于图片验证码设计的思考
Jan 29 Javascript
jQuery实现新消息闪烁标题提示的方法
Mar 11 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
Aug 13 Javascript
javascript设计模式之中介者模式学习笔记
Feb 15 Javascript
Vue.Js中的$watch()方法总结
Mar 23 Javascript
详解express与koa中间件模式对比
Aug 07 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
Dec 25 jQuery
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
Apr 26 Javascript
jQuery实现form表单序列化转换为json对象功能示例
May 23 jQuery
js实现一个简易计算器
Mar 30 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
Mar 06 Javascript
详解element-ui动态限定的日期范围选择器代码片段
Jul 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
用函数读出数据表内容放入二维数组
2006/10/09 PHP
关于PHPDocument 代码注释规范的总结
2013/06/25 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
jQuery 顶部导航跟随滚动条滚动固定浮动在顶部
2014/06/06 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
2015/12/02 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
jquery设置表单元素为不可用的简单代码
2016/07/04 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
浅谈js script标签中的预解析
2016/12/30 Javascript
通过js控制时间,一秒一秒自己动的实例
2017/10/25 Javascript
AngularJS实时获取并显示密码的方法
2018/02/06 Javascript
vue-cli3+typescript初体验小结
2019/02/28 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
Moment.js实现多个同时倒计时
2019/08/26 Javascript
bootstrap+spring boot实现面包屑导航功能(前端代码)
2019/10/09 Javascript
vue编写简单的购物车功能
2021/01/08 Vue.js
python3利用smtplib通过qq邮箱发送邮件方法示例
2017/12/03 Python
python的Tqdm模块的使用
2018/01/10 Python
Python及Django框架生成二维码的方法分析
2018/01/31 Python
更改Python的pip install 默认安装依赖路径方法详解
2018/10/27 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
2020/02/16 Python
python GUI库图形界面开发之PyQt5布局控件QGridLayout详细使用方法与实例
2020/03/06 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
安全保证书范文
2014/04/29 职场文书
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
学习党章的体会
2014/11/07 职场文书
小学优秀教师事迹材料
2014/12/16 职场文书
学习党章心得体会2016
2016/01/15 职场文书
python面向对象版学生信息管理系统
2021/06/24 Python
Linux安装apache服务器的配置过程
2021/11/27 Servers