條形碼校驗碼生成

2022-03-15 00:27:49 字數 1430 閱讀 5973

//判斷25碼的校驗位是否正確

///*

交叉25碼校驗位的計算規則。

交叉25碼的校驗位計算方法是 mod 10 :

1、字元個數為偶數時為:10的倍數-[奇數字的數字之和(從左至右)+(偶數字數字之和)*3個位數]

2、字元個數為奇數時為:10的倍數-[偶數字的數字之和(從左至右)+(奇數字數字之和)*3個位數]

如:514362的校驗位為10*x-[(5+4+6)+3*(1+3+2)]=7(因加校驗位後個數為奇數,故前面加0後為05143627。

76534的校驗位為10*x-[(6+3)+3*(7+5+4)]=3

*///string ls_checkcode

//ls_checkcode = right(astr_code,1)

string ls_basecode

//ls_basecode = left(astr_code,len(astr_code) - 1)

ls_basecode = astr_code

//奇數,偶數字和

int oddsum,evensum,i

oddsum = 0

evensum = 0

for i =1 to len(ls_basecode)

if mod(i,2) = 1 then

oddsum = oddsum + integer(mid(ls_basecode,i,1))

else

evensum = evensum + integer(mid(ls_basecode,i,1))

end if

next

//根據位數選擇判斷方法

//1、字元個數為偶數時為:10的倍數-[奇數字的數字之和(從左至右)+(偶數字數字之和)*3個位數]

//2、字元個數為奇數時為:10的倍數-[偶數字的數字之和(從左至右)+(奇數字數字之和)*3個位數]

int isum

if mod(len(ls_basecode),2) = 1 then

//個數為奇數

isum = evensum + oddsum * 3

else

//個數為偶數

isum = evensum * 3 + oddsum

end if

//校驗位 = isum個數字與10取補

int icheck

icheck = 10 - mod(isum,10)

//10的補為0

if icheck = 10 then

icheck = 0

end if

/*if ls_checkcode = string(icheck) then

return true

else

return false

end if

*/return string(icheck)

生成條形碼

一 路由 routes.maproute name home url home getbar defaults new 二 html頁 text value id codenum button value 生成條形碼 onclick wds createbar width 200px height ...

條形碼生成

生成條形碼的類 public class barcode128dll set private font m valuefont new font 宋體 10 是否顯示可見號碼 如果為null不顯示號碼 public font valuefont set private byte m magnify ...

Asp生成條形碼

function haiwaocde zfstr zf zfstr zf replace zf,0 zf replace zf,1 zf replace zf,2 zf replace zf,3 zf replace zf,4 zf replace zf,5 zf replace zf,7 zf r...