Como validar se uma string é uma data em JavaScript: As melhores práticas!

Posted by

Como verificar se string é data em JavaScript? As melhores técnicas!

Como verificar se uma string é uma data em JavaScript? As melhores técnicas!

Quando trabalhamos com JavaScript, muitas vezes precisamos validar se uma string é uma data válida. Isso pode ser útil em diversas situações, como formulários de cadastro, validação de datas em um sistema, entre outros casos.

Existem várias maneiras de fazer isso, e aqui vamos apresentar algumas das melhores técnicas para verificar se uma string é uma data em JavaScript.

Utilizando Expressões Regulares

Uma das maneiras mais comuns de verificar se uma string é uma data em JavaScript é utilizando expressões regulares. Expressões regulares são padrões de busca em strings que nos permitem verificar se uma determinada sequência de caracteres corresponde a um determinado formato.

No caso de datas, podemos utilizar uma expressão regular para verificar se a string possui o formato de uma data válida, como por exemplo “yyyy-mm-dd”.

    
    function isDate(str) {
        var pattern = /^d{4}-d{2}-d{2}$/;
        return pattern.test(str);
    }
    
    

Esta função recebe uma string como parâmetro e utiliza uma expressão regular para verificar se ela corresponde ao formato de uma data no padrão “yyyy-mm-dd”. Se a string corresponder ao padrão, a função retorna true, caso contrário retorna false.

Utilizando o Objeto Date

Outra maneira de verificar se uma string é uma data em JavaScript é utilizando o objeto Date. O construtor Date permite criar objetos que representam uma data e hora específicas, e podemos utilizá-lo para verificar se uma string é uma data válida.

    
    function isDate(str) {
        return !isNaN(Date.parse(str));
    }
    
    

Nesta função, utilizamos o método Date.parse para tentar converter a string em uma data. Se a conversão for bem sucedida, a string é uma data válida e a função retorna true. Caso contrário, retorna false.

Conclusão

Verificar se uma string é uma data em JavaScript pode ser muito útil em diversas situações, e as técnicas apresentadas aqui são algumas das melhores maneiras de fazer isso. Utilize as expressões regulares ou o objeto Date de acordo com a sua necessidade e preferência, e garanta que suas strings sejam validadas corretamente.

0 0 votes
Article Rating
4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@KlethonioFerreira
7 months ago

Olá. Para ficar mais completo você poderia ter combinado as duas funções para validar o Regex como uma data real ou não, já que se eu digitar 99/99/9999 isso será considerado como uma data, e não é.

Edit:
!isNaN((new Date("22/13/2023".replace(/(d{2})/(d{2})/(d{4})/, "$3-$2-$1"))).getTime())

@candidofinda7819
7 months ago

muito bom o video de programação web

@davidsyllva
7 months ago

Valeu! Prof. Mateus sempre trazendo conteúdo com muita qualidade. Parabéns.

@LEKYNH4
7 months ago

👏👏👏👏👏