
Email me
| |
' 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
|