//判斷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...