Categorias

Validar Data com Expressão Regular

Função muito útil que realiza a validação de uma data utilizando expressão regular.

Na função realização a validação utilizando o seguinte formato: DD/MM/YYYY.

Onde:
DD é o dia
MM é o mês
YYYY é o ano (com 4 dígitos)

Exemplo:
10/12/2003, 29/02/2000

Última atualização: 28/11/2011
Expressão regular melhorada pelo usuário erick2711

'-----------------------------------------------------
'Funcao: IsData(ByVal strData)
'Sinopse: Verifica se a data está no formato correto
'          Formatos aceitos: DD/MM/YYYY 
'Parametro: strData
'Retorno: Booleano
'Autor: Gabriel Fróes - www.codigofonte.com.br
'-----------------------------------------------------
Function IsData(ByVal strData)
    'Validando o formato da data com expressão regular
    Set regEx = New RegExp                            'Cria o Objeto Expressão
    regEx.Pattern = "^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3}$"    ' Expressão Regular
    regEx.IgnoreCase = True                            ' Sensitivo ou não
    regEx.Global = True                                
    
    Retorno    = RegEx.Test(strData)
    If Retorno = True Then
        'Verificando realmente se a data é uma data válida
        If IsDate(strData) Then
            Retorno = True
        Else
            Retorno = False
        End If
    End If
    
    'Retornando a função
    IsData = Retorno
    
    'Destruindo os objetos
    Set regEx = Nothing
End Function