Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

243
Vistas
Cómo validar una fecha en un formato particular en Javascript

Estoy usando Dialogflow para pasar la fecha de nacimiento y convertirla a un formato específico usando una función particular escrita en el archivo de ayuda en el final del webhook.

Para esto, necesito validar si la fecha de nacimiento está en el formato correcto antes de convertirla dentro del archivo auxiliar.

formato de fecha de nacimiento a validar: mm/dd/aaaa y 20 de agosto de 1989 (dd mes, año)

Solo si la fecha de nacimiento está en el formato mencionado anteriormente, puede entrar en función.

El código se da a continuación:

 const formatdob = (df,globalParameter,dob) => { try { let dob = df._request.queryResult.queryText //taking input from user globalParameter["dob"]=dob; //assigning it to Dialogflow parameters if(dob.length!=0 ){ //need to validate whether dob is in above mentioned format const d = new Date(dob); return new Date( Date.UTC( d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds() ) ).toISOString(); } console.log("else block"); return dob; } catch (err) { console.log(err) throw err; } }; module.exports = formatdob;

Intenté usar expresiones regulares, pero se está volviendo demasiado complicado. ¿Podría ayudarme con esto?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Usé Moment.js para la pregunta anterior como se sugiere en la sección de comentarios.

 const moment=require("moment"); /** * Webhook integration with bigquery to fetch user details * @param {object} */ const formatdob = (df,globalParameter,dob) => { //birthDate should be in mm/dd/yyyy format try { console.log("globalParameter",globalParameter); if(dob===""){ let dob = df._request.queryResult.queryText globalParameter["dob"]=dob; if(moment(dob, "MMMM DD,YYYY").isValid() || moment(dob, "MM/DD/YYYY").isValid()){ const d = new Date(dob); return new Date( Date.UTC( d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds() ) ).toISOString(); } return dob; } console.log("else block"); return dob; } catch (err) { console.log(err) throw err; } }; module.exports = formatdob;
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda