Here's a Witango tcf to do what you want.
Stefan
At 12:11 PM 10/10/2002 -0400, you wrote:
>Hello Everyone,
>
>If possible could someone please send me a link to or an example of the
>equations used to verify the validity of different credit card numbers.
>
>Thanks,
>
>Jake Stevens
>
>
>________________________________________________________________________
>TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
> with unsubscribe witango-talk in the message body
========================================================
Database WebWorks: Dynamic web sites through database integration
http://www.DatabaseWebWorks.com
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE TCF SYSTEM "tango.dtd" >
<TCF Version="0x02000002">
<Comments />
<!--Defined Classes-->
<Classes>
<ClassDef>
<Name>CC_Checksum</Name>
<!--Class constructor-->
<On_Create>
<Implementation />
</On_Create>
<!--Class destructor-->
<On_Destroy>
<Implementation />
</On_Destroy>
<!--Methods of this class-->
<Methods>
<MethodDef>
<Name>CC_Checksum_Tester</Name>
<MethodParameterList>
<MethodParameterItem DataType="Text"
Direction="In">
<Name>CC_Number</Name>
</MethodParameterItem>
<MethodParameterItem DataType="Text"
Direction="In">
<Name>CC_Type</Name>
</MethodParameterItem>
</MethodParameterList>
<Implementation>
<ActionRef
Ref="CC_Checksum.CC_Checksum_Tester.CC_Checksum_Tester" />
</Implementation>
<ReturnValueName>Error_Found</ReturnValueName>
<ReturnValueType>Text</ReturnValueType>
</MethodDef>
</Methods>
<!--Instance variables for this class-->
<Variables />
</ClassDef>
</Classes>
<!--Program actions-->
<Actions>
<ResultAction ID="CC_Checksum.CC_Checksum_Tester.CC_Checksum_Tester"
Sig="null">
<ResultsOutput
Ref="CC_Checksum.CC_Checksum_Tester.CC_Checksum_Tester.Results" />
</ResultAction>
</Actions>
<!--Data sources-->
<DataSources />
<!--Output blocks-->
<Outputs>
<Output ID="CC_Checksum.CC_Checksum_Tester.CC_Checksum_Tester.Results"
Type="HTML"><![CDATA[<@ASSIGN NAME="num" VALUE="<@KEEP STR='<@VAR method$CC_Number>'
CHARS='0123456789'>" SCOPE=instance>
<@IF "'@@num'='0'">
<@ASSIGN NAME="precheck" VALUE="bad" SCOPE=instance>
<@ELSE>
<@ASSIGN NAME="precheck" VALUE="good" SCOPE=instance>
</@IF>
<@IF "'<@VAR method$CC_Type>'='VS'">
<@IF "'<@LENGTH STR=@@num>'='16'">
<@ASSIGN NAME="precheck" VALUE="good" SCOPE=instance>
<@ELSEIF "'<@LENGTH STR=@@num>'='13'">
<@ASSIGN NAME="precheck" VALUE="good" SCOPE=instance>
<@ELSE>
<@ASSIGN NAME="precheck" VALUE="bad" SCOPE=instance>
</@IF>
<@ELSEIF "'<@VAR method$CC_Type>'='MC'">
<@IF "'<@LENGTH STR=@@num>'='16'">
<@ASSIGN NAME="precheck" VALUE="good" SCOPE=instance>
<@ELSE>
<@ASSIGN NAME="precheck" VALUE="bad" SCOPE=instance>
</@IF>
<@ELSEIF "'<@VAR method$CC_Type>'='X'">
<@IF "'<@LENGTH STR=@@num>'='15'">
<@ASSIGN NAME="precheck" VALUE="good" SCOPE=instance>
<@ELSE>
<@ASSIGN NAME="precheck" VALUE="bad" SCOPE=instance>
</@IF>
</@IF>
<@IF "'@@precheck'='good'">
<@ASSIGN NAME="numLen" VALUE="<@LENGTH STR='@@num'>" SCOPE=instance>
<@ASSIGN NAME="lastChar" VALUE="<@SUBSTRING STR='@@num' START='@@numLen'
NUMCHARS='1'>" SCOPE=instance>
<@ASSIGN NAME="checksum" VALUE="0" SCOPE=instance>
<@ASSIGN NAME="num" VALUE="<@SUBSTRING STR='@@num' START='<@CALC EXPR="1">'
NUMCHARS='@@numLen-1'>" SCOPE=instance>
<@ASSIGN NAME="numLen" VALUE="<@CALC EXPR='@@numLen-1'>" SCOPE=instance>
<@FOR START=1 STOP=@@numLen>
<@ASSIGN NAME="digit"
VALUE="<@SUBSTRING STR='@@num'
START='<@CALC
EXPR="@@numLen-<@CURROW>+1">' NUMCHARS='1'>"
SCOPE=instance>
<@ASSIGN NAME="temp" VALUE="<@CALC EXPR='@@digit*(1+(<@CURROW>%2))'>"
SCOPE=instance>
<@IF "'@@temp'<'10'">
<@ASSIGN NAME="checksum" VALUE="<@CALC EXPR='@@checksum+@@temp'>"
SCOPE=instance>
<@ELSE>
<@ASSIGN NAME="checksum" VALUE="<@CALC EXPR='@@checksum+(@@temp-9)'>"
SCOPE=instance>
</@IF>
</@FOR>
<@ASSIGN NAME="checksum" VALUE="<@CALC EXPR='(10-(@@checksum%10))%10'>"
SCOPE=instance>
<@IF "'@@lastChar'='@@checksum'">
<@ASSIGN NAME="Invalid_Credit_Card_Number" VALUE="0" SCOPE=instance>
<@ELSE>
<@ASSIGN NAME="Invalid_Credit_Card_Number" VALUE="1" SCOPE=instance>
<@ASSIGN method$Error_Found 1>
</@IF>
<@ELSE>
<@ASSIGN NAME="Invalid_Credit_Card_Number" VALUE="1" SCOPE=instance>
<@ASSIGN method$Error_Found 1>
</@IF>
]]></Output>
</Outputs>
</TCF>