傳入身分證號, 傳回是否正確?
//身分証字號檢查 integer li_v1, li_v2, li_v3, li_v4, li_v5, li_v6, li_v7, li_v8, li_v9, li_v10 integer li_v11, li_v12 boolean lb_retval li_v11 = POS(space(9)+'ABCDEFGHJKLMNPQRSTUVWXY', MID(as_sid,1,1)) /* 轉第一碼之編號 A B C D E F G H J K L 10 11 12 13 14 15 16 17 18 19 20 M N P Q R S T U V X Y 21 22 23 24 25 26 27 28 29 30 31 */ //乘上權數 li_v1 = int(li_v11/10) * 1 li_v2 = mod(li_v11, 10) * 9 li_v3 = integer(mid(as_sid,2,1)) * 8 li_v4 = integer(mid(as_sid,3,1)) * 7 li_v5 = integer(mid(as_sid,4,1)) * 6 li_v6 = integer(mid(as_sid,5,1)) * 5 li_v7 = integer(mid(as_sid,6,1)) * 4 li_v8 = integer(mid(as_sid,7,1)) * 3 li_v9 = integer(mid(as_sid,8,1)) * 2 li_v10= integer(mid(as_sid,9,1)) * 1 //計算檢核碼 li_V12 = 10 - MOD(li_v1+li_v2+li_v3+li_v4+li_v5+li_v6+li_v7+li_v8+li_v9+li_v10,10) IF (li_v12=10) THEN li_v12 = 0
IF(integer(MID(as_sid,10,1))=li_v12) THEN lb_retval = TRUE ELSE lb_retval = FALSE END IF return lb_retval
|
|
留言列表