\n'; document.write(barra); } } changePage();
NET Infor
Verifica Cartão de Crédito
Visa
Mastercard
American Express
Discover
Nome
Numero do Cartão
Data de Expira
Copie o código fonte do script abaixo:
<SCRIPT LANGUAGE="vbscript"> Dim paymethod Dim TheCardType Sub VerifyCard dim strCleanNo dim verified dim currdate If Not GoodDate() Then Exit Sub End If strCleanNo = CleanString() Select Case TheCardType Case "amex" verified = verifyAmex(strCleanNo) Case "visa" 'this is a nested select Select Case Len(strCleanNo) Case 13 verified = verifyV(strCleanNo) Case 16 verified = verifyMC(strCleanNo) Case Else verified = False End Select Case "mastercard" verified = verifyMC(strCleanNo) Case "discovery" verified = verifyMC(strCleanNo) Case Else Alert "Por favor marque o tipo do cartão." Exit Sub End Select If Not verified Then i = MsgBox("NUMERO DE CARTÃO INVÁLIDO",16,"OPERAÇÃO CANCELADA") Else i = MsgBox("NUMERO DO CARTÃO OK",64,"OPERAÇÃO CONCLUIDA") End If End Sub Function GoodDate() GoodDate = True If Not IsDate(Document.Form1.CardExp.Value) Then i = MsgBox("DATA INVÁLIDA",16,"OPERAÇÃO CANCELADA") GoodDate = False Else currdate = Month(Now()) & " " & Year(Now()) If DateValue(Document.Form1.CardExp.Value) < DateValue(currdate) Then i = MsgBox("CARTÃO EXPIRADO",16,"OPERAÇÃO CANCELADA") GoodDate = False End If End If End Function Function VerifyAmex(ByVal CardNo) Dim amexarray(14) Dim tot tot=0 If Len(CardNo) <> 15 Then VerifyAmex = False Exit Function End If For x = 2 to 10 step 2 amexarray(x-1) = Mid(CardNo,x,1) Next For x = 12 to 15 amexarray(x-1) = Mid(CardNo,x,1) Next For x = 1 to 11 Step 2 y = Mid(CardNo,x,1) * 2 If y >= 10 Then amexarray(x-1) = (y Mod 10) + 1 Else amexarray(x-1) = y End If Next For x = 0 to 14 tot = tot + CInt(amexarray(x)) Next If tot Mod 10 = 0 Then VerifyAmex = True Else VerifyAmex = False End If End Function Function VerifyV(ByVal CardNo) Dim vArray(12) Dim tot tot=0 For x = 2 to 12 step 2 vArray(x-1) = Mid(CardNo,x,1) Next vArray(12) = Mid(CardNo,13,1) 'Mod returns the remainder of a division For x = 1 to 11 Step 2 y = Mid(CardNo,x,1) * 2 If y >= 10 Then vArray(x-1) = (y Mod 10) + 1 Else vArray(x-1) = y End If Next For x = 0 to 12 tot = tot + CInt(vArray(x)) Next If tot Mod 10 = 0 Then VerifyV = True Else VerifyV = False End If End Function Function VerifyMC(ByVal CardNo) Dim tot tot=0 If Len(CardNo) <> 16 Then VerifyMC = False Exit Function End If For x = 2 to 16 step 2 tot = tot + CInt(Mid(CardNo,x,1)) Next For x = 1 to 15 Step 2 y = Mid(CardNo,x,1) * 2 If y >= 10 Then tot = tot + CInt((y Mod 10) + 1) Else tot = tot + CInt(y) End If Next If tot Mod 10 = 0 Then VerifyMC = True Else VerifyMC = False End If End Function Function CleanString() dim strLen dim strCounter dim strClean dim strDirty strDirty = Trim(Document.Form1.cardnumber.value) strLen = Len(strDirty) strClean = "" For strCounter = 1 to strLen If Asc(Mid(strDirty,strCounter,1)) < 58 AND Asc(Mid(strDirty,strCounter,1)) > 47 Then strClean = strClean & Mid(strDirty,strCounter,1) End If Next CleanString = strClean End Function </SCRIPT> <FORM NAME="Form1"> <TABLE> <TD ALIGN=RIGHT><B>Visa</B> <TD> <INPUT LANGUAGE="vbscript" TYPE=RADIO VALUE="visa" ONCLICK="TheCardType= "visa"" NAME="cardtype"> <TD ALIGN=RIGHT><B>Mastercard</B> <TD><INPUT LANGUAGE="vbscript" TYPE=RADIO VALUE="mastercard" ONCLICK="TheCardType= "mastercard"" NAME="cardtype"> <TR> <TD ALIGN=RIGHT><B>American Express</B> <TD><INPUT LANGUAGE="vbscript" TYPE=RADIO VALUE="amex" ONCLICK="TheCardType= "amex"" NAME="cardtype"> <TD ALIGN=RIGHT><B>Discover</B> <TD><INPUT LANGUAGE="vbscript" TYPE=RADIO VALUE="discovery" ONCLICK="TheCardType= "discovery"" NAME="cardtype"> <TR> </TABLE> <P> <TABLE> <TD><b>Nome</b> <TD><INPUT TYPE=TEXT SIZE=30 NAME="cardholder"> <TR> <TD><B>Numero do Cartão</B> <TD><INPUT TYPE=TEXT SIZE=20 NAME="cardnumber"> <TR> <TD><B>Data de Expira</B> <TD><INPUT TYPE=TEXT SIZE=5 NAME="cardexp"> <TR> </TABLE> <P> <INPUT LANGUAGE="vbscript" TYPE=button VALUE="Check" ONCLICK=" call VerifyCard()"> <INPUT TYPE=RESET VALUE="Limpar"> </FORM>