Tengo una aplicación, el usuario puede especificar su propio formato de datos, como 'MM/dd/yyyy', 'MM/dd/yy', etc.
Una vez que recibo una cadena de fecha, necesito validar si la cadena de fecha es válida para el formato dado.
Traté de usar moment(dataString, dateFormat).isValid() , pero parece que no funciona
Para cadena de fecha: 01/01/20
con dateFormat MM/dd/yyyy , espere false
con dataFormat MM/dd/yy , espere true
moment('01/01/2020', 'MM/dd/yy').isValid() --- esperar: falso, real: verdadero
moment('01/02/2020', 'MM/dd/yyyy', true).isValid() --- esperar: verdadero, real: falso
¿Qué puedo usar para lograr esto?
debe escribir DD en mayúsculas y proporcionar verdadero en el tercer parámetro, para habilitar el análisis estricto
console.log(moment('This string includes a date with slashes 01/01/2020', 'MM/DD/YYYY').isValid()) console.log(moment('This string does not include a date with slashes', 'MM/DD/YYYY').isValid()) console.log(moment('01/01/2020', 'MM/DD/YYYY', true).isValid()) console.log(moment('01/01/2020', 'MM/dd/YYYY', true).isValid()) console.log(moment('01/01/20', 'MM/dd/YYYY', true).isValid()) console.log(moment('01/01/20', 'MM/DD/YY', true).isValid()) <script src="https://momentjs.com/downloads/moment.min.js"></script>