Convalida una data in JavaScript

Sahil Bhosale 12 ottobre 2023
  1. Convalida la data con la libreria moment.js in JavaScript
  2. Convalida la data utilizzando espressioni regolari in JavaScript
  3. Convalida la data con il metodo Date.parse() in JavaScript
Convalida una data in JavaScript

La convalida di una data diventa importante per convalidare le date in JavaScript perché varie persone in varie località seguono formati diversi durante l’immissione delle date. Dobbiamo seguire un formato particolare durante la convalida delle date nella nostra applicazione web in modo che in seguito diventi più facile lavorare con la data.

Questo articolo introdurrà come convalidare la data nel formato mm/dd/yy in JavaScript.

Convalida la data con la libreria moment.js in JavaScript

La libreria moment.js è il modo migliore e più semplice per convalidare e formattare date e ore in JavaScript. Useremo questa libreria per convalidare e visualizzare le date in JavaScript. Per utilizzare questa libreria, dobbiamo prima scaricarla utilizzando il comando seguente.

npm install -g moment --save 

Installerà un momento nel tuo sistema. Quindi possiamo usare direttamente il metodo moment() disponibile nella libreria moment.js. Di seguito è riportato il codice per convalidare una data con moment.js in JavaScript.

import * as moment from 'moment';

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

Produzione:

true

La funzione moment accetta tre parametri come input; il primo è la data di input che vogliamo convalidare, il secondo è il formato che vogliamo che segua la nostra data e l’ultimo parametro è opzionale; se è impostato su true, utilizzerà l’analisi rigorosa. L’analisi rigorosa richiede che il formato e l’input corrispondano esattamente, inclusi i delimitatori. Infine, usiamo la funzione isValid() per controllare se la data di input è valida o meno e restituisce un valore booleano di true se la data di input corrisponde al formato dd/mm/yy e false se la data di input non corrisponde al formato specificato.

Convalida la data utilizzando espressioni regolari in JavaScript

L’espressione regolare è un ottimo modo per convalidare la data. L’unico problema che molte persone devono affrontare quando si tratta di espressioni regolari è la difficoltà nel comprenderle poiché contengono vari simboli e numeri. Ogni simbolo o espressione in un’espressione regolare ha il proprio significato. Usando queste espressioni, possiamo convalidare la data nel formato dd/mm/yy in 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>

Output nel browser:

Date follows dd/mm/yy format

L’espressione regolare /^(0[1-9]|1[0-2])\/(0[1-9]|1\d|2\d|3[01])\/(0[1-9]|1[1-9]|2[1-9])$/ comprende 3 gruppi. Il primo gruppo rappresenta il mese, il secondo gruppo rappresenta il giorno e il terzo gruppo rappresenta le ultime 2 cifre dell ‘anno. Ovunque vedi la barra in avanti /, rappresenta l’inizio del gruppo e la barra rovesciata \ rappresenta la fine del gruppo.

Ci sono 12 mesi in un anno. In modo che ci siano due possibilità quando si seleziona un mese, può iniziare con 0 seguito da un numero o con 1 seguito dal numero 1 o 2. Lo stesso processo è simile per altri gruppi. La \d nel secondo di gruppo rappresenta qualsiasi cifra compresa tra 0 e 9. Puoi anche creare le tue espressioni regolari per convalidare le date.

Memorizziamo quindi questa espressione regolare nella variabile date_regex. Useremo la data che è memorizzata in myDate per controllare se la data segue il formato dd/mm/yy oppure no. Se la data segue questo formato, stamperemo il messaggio Date follows dd/mm/yy format nella console; altrimenti, stamperemo Invalid date format.

Convalida la data con il metodo Date.parse() in JavaScript

Data.parse() è un metodo già disponibile in JavaScript. Questo metodo accetta solo una data come un singolo parametro che è una stringa.

<!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>

Output nel browser:

This is a valid date format.

La funzione Data.parse() restituirà un numero in millisecondi basato sulla data di input fornita. Se non riconosce la data di input, restituirà NaN (non un numero) come output. Il risultato di questa funzione è memorizzato nella variabile isValidDate.

Se il valore all’interno della variabile isValidDate è NaN (non un numero), restituirà false e il messaggio che verrà stampato sullo schermo è This is not a valid date format.. Se restituisce true, stamperà il messaggio This is the valid date format. sullo schermo come output.

Sahil Bhosale avatar Sahil Bhosale avatar

Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.

LinkedIn

Articolo correlato - JavaScript DateTime