¿Cómo verificar que una fecha sea válida o no usando JavaScript?

Dado un objeto de fecha y la tarea es verificar que la fecha dada sea válida o no use JavaScript. Hay dos métodos para resolver este problema que se discuten a continuación:

Enfoque 1:

  • Almacene el objeto de fecha en una variable.
  • Si la fecha es válida, getTime() siempre será igual a sí mismo.
  • Si la fecha no es válida, getTime() devolverá NaN, que no es igual a sí mismo.
  • La función isValid() se usa para verificar que el método getTime() sea igual a sí mismo o no.

Ejemplo 1: Este ejemplo implementa el enfoque anterior.

<!DOCTYPE HTML> 
<html> 
  
<head> 
    <title> 
        How to check a date is valid
        or not using JavaScript ?
    </title>
</head> 
  
<body style = "text-align:center;"> 
      
    <h1 style = "color:green;" > 
        GeeksForGeeks 
    </h1>
      
    <p id = "GFG_UP" style =
        "font-size: 15px; font-weight: bold;">
    </p>
      
    <button onclick = "GFG_Fun()">
        Click Here
    </button>
      
    <p id = "GFG_DOWN" style =
        "color:green; font-size: 20px; font-weight: bold;">
    </p>
      
    <script>
        var up = document.getElementById('GFG_UP'); 
        var down = document.getElementById('GFG_DOWN'); 
        var d = new Date("2012/2/30");
          
        up.innerHTML = "Click on the button to check"
                    + " validity of data.<br>";
          
        Date.prototype.isValid = function () {
              
            // If the date object is invalid it
            // will return 'NaN' on getTime() 
            // and NaN is never equal to itself.
            return this.getTime() === this.getTime();
        };
          
        function GFG_Fun() {
            down.innerHTML = d.isValid();
        } 
    </script> 
</body> 
  
</html>

Producción:

  • Antes de hacer clic en el botón:
  • Después de hacer clic en el botón:

Enfoque 2:

  • Almacene el objeto de fecha en una variable d .
  • Verifique si la variable d es creada por el objeto Date o no usando el método Object.prototype.toString.call(d) .
  • Si la fecha es válida, el método getTime() siempre será igual a sí mismo.
  • Si la fecha no es válida, el método getTime() devolverá NaN, que no es igual a sí mismo.
  • En este ejemplo, el método isValid() está comprobando si getTime() es igual a sí mismo o no.

Ejemplo 2: Este ejemplo implementa el enfoque anterior.

<!DOCTYPE HTML> 
<html> 
  
<head> 
    <title> 
        How to check a date is valid
        or not using JavaScript ?
    </title>
</head> 
  
<body style = "text-align:center;"> 
      
    <h1 style = "color:green;" > 
        GeeksForGeeks 
    </h1>
      
    <p id = "GFG_UP" style =
        "font-size: 15px; font-weight: bold;">
    </p>
      
    <button onclick = "GFG_Fun()">
        Click Here
    </button>
      
    <p id = "GFG_DOWN" style =
        "color:green; font-size: 20px; font-weight: bold;">
    </p>
      
    <script>
        var up = document.getElementById('GFG_UP'); 
        var down = document.getElementById('GFG_DOWN'); 
        var d = new Date("This is not date.");
          
        up.innerHTML = "Click on the button to check "
                    + "validity of data.<br>";
          
        function GFG_Fun() {
          
            if (Object.prototype.toString.call(d)
                                    === "[object Date]")
            {
                if (isNaN(d.getTime())) { 
                    down.innerHTML = "Invalid Date.";
                }
                else {
                    down.innerHTML = "Valid Date.";
                }
            }
        } 
    </script> 
</body> 
  
</html>

Producción:

  • Antes de hacer clic en el botón:
  • Después de hacer clic en el botón:

JavaScript es mejor conocido por el desarrollo de páginas web, pero también se usa en una variedad de entornos que no son de navegador. Puede aprender JavaScript desde cero siguiendo este tutorial de JavaScript y ejemplos de JavaScript .

Publicación traducida automáticamente

Artículo escrito por PranchalKatiyar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *