轉帖|其它|編輯:郝浩|2011-06-14 14:33:53.000|閱讀 1092 次
概述:今天一來上班看到同事群里面說起EAN-13標準條形碼最后一位校驗碼的事,于是順手用js寫了這個算法。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
今天一來上班看到同事群里面說起EAN-13標準條形碼最后一位校驗碼的事,于是順手用js寫了這個算法。
EAN-13標準條形碼最后一位校驗碼的計算步驟如下:
a、從代碼位置序號2開始,所有偶數位的數字代碼求和。
b、將步驟a的和乘以3。
c、從代碼位置序號3開始,所有奇數位的數字代碼求和。
d、將步驟b與步驟c的結果相加。
e、用大于或等于步驟d所得結果且為10最小整數倍的數減去步驟d所得結果,其差即為所求校驗碼的值。
解釋: EAN-13標準條形碼代碼位置從右到左序號13 12 11 10 9 8 7 6 5 4 3 2 1
作者:網帆
創建時間:2011-06-13
*/
function isBarCode(s) {
var reg = new RegExp(/^[0-9]{12}$/);
if (reg.exec(s.substring(0, 12)))
return true;
else
return false;
}
function CheckBarCode(s) {
if (!isBarCode(s)) {
return "驗證條形碼前12位出錯!";
}
var a = 0;
var b = 0;
var c = 0;
var d = 0;
var e = 0;
for (var i = 1; i <= 12; i++) {
var sc = parseInt(s[i - 1]);
if (i <= 12 && i % 2 == 0) {
a += sc;
}
else if (i <= 11 && i % 2 == 1) {
b += sc;
}
}
c = a * 3;
d = b + c;
if (d % 10 == 0)
e = d - d;
else
e = d + (10 - d % 10) - d;
return e;
}
alert("校驗碼是:" + CheckBarCode("693721090010X"));
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載