glenn's at 149:
 Code:
Function A($D)
  Dim $,$F,$S				; Digit, Flag, ID, Sum
  $A=0
  $=Left($D,1)	;			; CC Issuer ID
  If ($D^)+($=3)=16 & $>2 & $<7 	; verify ID/# Digits
    While $D				; while digits
      $=Right($D,1)			; Get digit and optionally double
      $S=$S+$F*((4<$)+$)+$		; sum digit
      $F=$F^1				; flip odd/even flag
      $D=Left($D,~)			; trim string
      $A=($S Mod 10 =)*$		; if CC is valid
EndFunction
_________________________
!

download KiXnet