Valider une date en JavaScript

  1. Valider la date avec la bibliothèque moment.js en JavaScript
  2. Valider la date à l’aide d’expressions régulières dans JavaScript
  3. Validez la date avec la méthode Date.parse() en JavaScript

La validation d’une date devient importante pour valider les dates en JavaScript car diverses personnes à différents endroits suivent différents formats lors de la saisie des dates. Nous devons suivre un format particulier lors de la validation des dates dans notre application Web afin que plus tard, il nous devienne plus facile de travailler avec la date.

Cet article présente comment valider la date au format mm/dd/yy en JavaScript.

Valider la date avec la bibliothèque moment.js en JavaScript

La bibliothèque moment.js est le moyen le meilleur et le plus simple de valider et de formater des dates et des heures en JavaScript. Nous utiliserons cette bibliothèque pour valider et afficher les dates en JavaScript. Pour utiliser cette bibliothèque, nous devons d’abord la télécharger à l’aide de la commande ci-dessous.

npm install -g moment --save 

Il s’installera un instant dans votre système. Ensuite, nous pouvons utiliser directement la méthode moment() disponible dans la bibliothèque moment.js. Ci-dessous le code pour valider une date avec moment.js en JavaScript.

import * as moment from 'moment';

let result = moment("05/22/12", 'MM/DD/YY',true).isValid();
console.log(result)

Production:

true

La fonction moment prend trois paramètres en entrée; le premier est la date d’entrée que nous voulons valider, le second est le format que nous voulons que notre date suive, et le dernier paramètre est facultatif; s’il est mis à true, il utilisera l’analyse stricte. L’analyse stricte nécessite que le format et l’entrée correspondent exactement, y compris les délimiteurs. Enfin, nous utilisons la fonction isValid() pour vérifier si la date d’entrée est valide ou non et renvoie une valeur booléenne de true si la date d’entrée correspond au format dd/mm/yy et false si la date d’entrée ne correspond pas au format spécifié.

Valider la date à l’aide d’expressions régulières dans JavaScript

Expression régulière est un excellent moyen de valider la date. Le seul problème auquel de nombreuses personnes sont confrontées en ce qui concerne les expressions régulières est la difficulté à les comprendre car elles contiennent divers symboles et nombres. Chaque symbole ou expression d’une expression régulière a sa propre signification. Grâce à ces expressions, nous pouvons valider la date au format dd/mm/yy en JavaScript.

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Document</title>
  </head>
  <body>
    <h1 id="message"></h1>
    <script>
      
      var date_regex = /^(0[1-9]|1[0-2])\/(0[1-9]|1\d|2\d|3[01])\/(0[1-9]|1[1-9]|2[1-9])$/;
        var testDate = "03/17/21"
        if (date_regex.test(testDate)) {
            document.getElementById("message").innerHTML = "Date follows dd/mm/yy format";
        }
        else{
          document.getElementById("message").innerHTML = "Invalid date format";
        }

    </script>
  </body>
</html>

Sortie dans le navigateur:

Date follows dd/mm/yy format

L’expression régulière /^(0[1-9]|1[0-2])\/(0[1-9]|1\d|2\d|3[01])\/(0[1-9]|1[1-9]|2[1-9])$/ comprend 3 groupes. Le premier groupe représente le mois, le deuxième groupe représente le jour et le troisième groupe représente les 2 derniers chiffres de l'année. Partout où vous voyez la barre oblique /, elle représente le début du groupe et la barre oblique inverse \ représente la fin du groupe.

Il y a 12 mois dans un an. Pour qu’il y ait deux possibilités lors de la sélection d’un mois, soit il peut commencer par 0 suivi d’un chiffre ou par 1 suivi du chiffre 1 ou 2. Le même processus est similaire pour les autres groupes. Le \d dans le groupe seconde représente tout chiffre entre 0 et 9. Vous pouvez également créer vos expressions régulières pour valider les dates.

Nous stockons ensuite cette expression régulière dans la variable date_regex. Nous utiliserons la date qui est stockée dans maDate pour vérifier si la date suit le format dd/mm/yy ou non. Si la date suit ce format, nous imprimerons le Date follows dd/mm/yy format à l’intérieur de la console; sinon, nous imprimerons Invalid date format.

Validez la date avec la méthode Date.parse() en JavaScript

Le Data.parse() est une méthode déjà disponible en JavaScript. Cette méthode prend uniquement une date comme paramètre unique qui est une chaîne.

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Document</title>
  </head>
  <body>
    <h1 id="message"></h1>

    <script>
        let isValidDate = Date.parse('03/17/21');

        if (isNaN(isValidDate)) {
          document.getElementById('message').innerHTML = "This is not a valid date format.";
        }
        else{
          document.getElementById('message').innerHTML = "This is a valid date format.";
        }

    </script>
  </body>
</html>

Sortie dans le navigateur:

This is a valid date format.

La fonction Data.parse() renverra un nombre en millisecondes en fonction de la date d’entrée fournie. S’il ne reconnaît pas la date d’entrée, il renverra NaN (pas un nombre) en sortie. Le résultat de cette fonction est stocké dans la variable isValidDate.

Si la valeur à l’intérieur de la variable isValidDate est NaN (pas un nombre), elle renverra false, et le message qui sera imprimé à l’écran est This is not a valid date format.. S’il renvoie true, alors il affichera le message This is the valid date format. sur l’écran comme sortie.

Article connexe - JavaScript DateTime

  • Comment comparer deux dates en JavaScript
  • Initialiser la date JavaScript sur un fuseau horaire particulier