terça-feira, 18 de novembro de 2025
Home
Artigos
Banco de Dados
Access
Firebird
Microsoft SQL Server
MySql
Oracle
Sybase
BI
QlikView
Dicas de Internet
e-business
Hardware
Multimídia
Flash
Programação
.NET/ASP.NET
.NET/C#
.NET/Framework
.NET/VB.NET
ASP
C/C++
Clipper
Cobol
CSS
Delphi
Java
Javascript
JSP
Palm
Perl
PHP
Shell
Visual Basic
WAP
Redes
Segurança
Servidores E-mail
Servidores Web
Apache
Microsoft IIS
Sistemas Operacionais
AIX
DOS
HPUX
Linux
Palm OS
Solaris
True64
Windows 7
Windows 9X
Windows NT
Windows Vista
Windows XP
Software Review
PC
Storages
Veritas VM
Conteúdo atual do site:
[807] ítens, entre artigos, funções e documentos.
Pesquisa Rápida:
Últimos 3 acessos:
Alexandre Neves 03/03/2015 11:08:01 167 acesso(s) alexandre neves 03/03/2015 11:06:42 1 acesso(s) Marcelo Torres 21/01/2015 15:24:53 61 acesso(s)
Opções:
Listagem completa Listagem simples
Ranking Colaboradores:
Adenilton Rodrigues - [304] Alexandre Neves - [61] Douglas Freire - [54] Marcelo Giovanni - [53] Marcelo Torres - [43] Angelita Bernardes - [31] Addy Magalhães Cunha - [28] Manuel Fraguas - [24] Ludmila Valadares - [20] Marcelo Capelo - [18]
Rotina para validação de cartão de crédito
Segue abaixo a rotina para validação de cartão de crédito. ' Valida numero de cartao de credito ' Retorna True se valido, False se invalido ' ' Exemplo: ' If ValidaCartaoCredito(Value:="1234-123456-12345") Then Function ValidaCartaoCredito(Value As Variant) As Boolean Dim strTemp As String Dim intCheckSum As Integer Dim blnDoubleFlag As Boolean Dim intDigit As Integer Dim i As Integer On Error GoTo ErrorHandler ValidaCartaoCredito = True Value = Trim$(Value) If Len(Value) = 0 Then ValidaCartaoCredito = False Exit function End If ' Se mesmo depois de retirar nao-numericos, nao sobrou nada, foi digitado lixo For i = 1 To Len(Value) If IsNumeric(Mid$(Value, i, 1)) Then strTemp = strTemp & Mid$(Value, i, _ 1) Next If Len(strTemp) = 0 Then ValidaCartaoCredito = False End If 'Diferentes tamanhos para diferentes bandeiras de CC Select Case Mid$(strTemp, 1, 1) Case "3" 'Amex If Len(strTemp) <> 15 Then ValidaCartaoCredito = False Else Value = Mid$(strTemp, 1, 4) & "-" & Mid$(strTemp, 5, _ 6) & "-" & Mid$(strTemp, 11, 5) End If Case "4" 'Visa If Len(strTemp) <> 16 Then ValidaCartaoCredito = False Else Value = Mid$(strTemp, 1, 4) & "-" & Mid$(strTemp, 5, _ 4) & "-" & Mid$(strTemp, 9, 4) & "-" & Mid$(strTemp, 13, 4) End If Case "5" 'Mastercard If Len(strTemp) <> 16 Then ValidaCartaoCredito = False Else Value = Mid$(strTemp, 1, 4) & "-" & Mid$(strTemp, 5, _ 4) & "-" & Mid$(strTemp, 9, 4) & "-" & Mid$(strTemp, 13, 4) End If Case Else 'Lixo - nao e numero de cartao de credito If Len(strTemp) > 20 Then ValidaCartaoCredito = False End If End Select 'Check Sum (Mod 10) intCheckSum = 0 blnDoubleFlag = 0 For i = Len(strTemp) To 1 Step -1 intDigit = Asc(Mid$(strTemp, i, 1)) ' Isola o caracter If intDigit > 47 Then ' Pula se nao e um inteiro If intDigit < 58 Then intDigit = intDigit - 48 ' Remove ASCII bias If blnDoubleFlag Then intDigit = intDigit + intDigit ' primeiro duplica-o If intDigit > 9 Then intDigit = intDigit - 9 End If End If blnDoubleFlag = Not blnDoubleFlag intCheckSum = intCheckSum + intDigit If intCheckSum > 9 Then intCheckSum = intCheckSum - 10 ' (mesmo que MOD 10 mas mais rapido) End If End If End If Next If intCheckSum <> 0 Then ' Deve totalizar zero ValidaCartaoCredito = False End If ErrorHandler: Err.Raise Err.Number, "ValidaCartaoCredito", Err.Description End Function Quebra-Linha Colaborador..: Ramon Dias de Azevedo Categoria(s).: ASP; Programação; Versão.......: 1.0 Data.........: 24/05/2002 17:01:33 Visualizado..: 1134 vezes Fonte........:
Ramon Dias de Azevedo
ASP Programação
Últimos Artigos deste colaborador Validação de Cartão de Crédito - 24/05/2002 17:01:33
Últimos Artigos desta categoria Gerador de Codigo de Verificação REDECARD - 14/05/2008 23:53:10 Gerar um Excel apartir de um ASP - 18/07/2007 14:11:57 LongIP para StringIP - 11/02/2005 18:00:05
24 pessoa(s) on-line neste site.