银行卡号是否正确的校验方法之一(根据最后一位是否符合Luhn算法)
写得不太规范,高手请绕行

程序代码:CLEAR
no1='6222888800010008' &&卡号
len2=INT(LEN(no1)/2)
IF LEN(no1)#16
=MESSAGEBOX('卡号长度错误')
ENDIF
endwei=0
FOR ii=1 TO len2 &&偶数*2 结果大于10 -9或者十位数+个位数
js=ALLTRIM(STR(VAL(LEFT(RIGHT(no1,ii*2),1))*2))
IF VAL(js)>=10
endwei=endwei+VAL(LEFT(js,1))+VAL(RIGHT(js,1))
ELSE
endwei=endwei+VAL(js)
ENDIF
ENDFOR
FOR ii=1 TO len2 &&奇数位直接相加
js=LEFT(right(no1,ii*2-1),1)
endwei=endwei+VAL(js)
ENDFOR
?endwei
IF MOD(endwei,10)=0 &&除10 整数 校验通过
?no1+' **校验正确'
ELSE
?no1+' **校验错误******'
ENDIF







