' Check validity of a credit card number. ' (Based on public domain code written by Frank Cox, September 1, 1991.) INPUT "Input Charge Card Number"; Card$ IF LEN(Card$) = 0 THEN END IF CCValid%(Card$) THEN PRINT "Valid" ELSE PRINT "Invalid" END IF FUNCTION CCValid%(Card$) LOCAL PUBLIC LOCAL Temp$, c%, m%, Temp%, CheckSum% Temp$ = REMOVE$(Card$, CHR$(32)) ' remove spaces from the data FOR c% = (LEN(Temp$) - 1) TO 1 STEP -1 ' compute the checksum IF m% = 2 THEN m% = 1 ELSE m% = 2 Temp% = VAL(MID$(Temp$, c%, 1)) * m% INCR CheckSum%, Temp% IF Temp% > 9 THEN DECR CheckSum%, 9 NEXT c% IF (CheckSum% + VAL(RIGHT$(Temp$, 1))) MOD 10 = 0 THEN CCValid% = -1 ELSE CCValid% = 0 END IF END FUNCTION