Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

355
Visualizações
¿Cómo diferenciar entre una cadena con formato de fecha (parsable) y un número flotante en cadena?

hay una cadena "05/05/2022" cómo verificar que puede ser una fecha, pero "5.1" no debe ser una fecha Ejemplo de fecha

 05.05.2020 05/05/2020 05/05/2020;22:40

un ejemplo de no una fecha sino un número

 5 5.1 5.23
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Esto se puede hacer con una expresión regular como ...

  1. /^\d{1,2}(?<separator>[./])\d{1,2}\k<separator>\d{2}(?:\d{2})?(?:\s*;\s*\d{2}:\d{2})?$/ ... o ...

  2. /^\d{2}(?<separator>[./])\d{2}\k<separator>\d{4}(?:\s*;\s*\d{2}:\d{2})?$/

... donde el primero es más indulgente con el formato de fecha en términos de conteo de dígitos del día ( 1 o 2 ), mes ( 1 o 2 ) y año ( 2 o 4 ), mientras que el último impone un estricto conteo de dígitos de 2,2,4 para, por ejemplo dd/mm/yyyy .

Ambos patrones utilizan un grupo de captura con nombre para el separador de fecha (ya sea . o / ) que se utilizará como referencia inversa con nombre para garantizar un formato de fecha correcto.

Ambos patrones también presentan la coincidencia opcional para un formato de hora... [ (?:\s*;\s*\d{2}:\d{2})? ] ... que posiblemente siga un formato de fecha válido.

 const multilineSample = `5.5.20 5.5.202 5.5/2020 05.05.2020 05/05.2020 05/05/2020 05/05/2020;22:40 5 5.1 5.23`; // see ... [https://regex101.com/r/6CwyXy/1] const regXDateFormatLooseDigitCount = /^\d{1,2}(?<separator>[./])\d{1,2}\k<separator>\d{2}(?:\d{2})?(?:\s*;\s*\d{2}:\d{2})?$/gm; // see ... [https://regex101.com/r/6CwyXy/2] const regXDateFormatStrictDigitCount = /^\d{2}(?<separator>[./])\d{2}\k<separator>\d{4}(?:\s*;\s*\d{2}:\d{2})?$/gm console.log( 'sample data ...\n', multilineSample ); console.log( 'result for loose digit count ...', multilineSample.match(regXDateFormatLooseDigitCount) ); console.log( 'result for strict digit count ...', multilineSample.match(regXDateFormatStrictDigitCount) );
 .as-console-wrapper { min-height: 100%!important; top: 0; }

about 4 years ago · Juan Pablo Isaza Relatório

0

Suponiendo que solo obtendrá números o fechas y nada más que estas dos entradas:

 // Assuming that you'll be getting either a date or a number let checkDate = (val)=>{ let count = 0 ; for(let i=0 ; i<val.length ; i++)if(val[i]==='.'||val[i]==="/")count++; if(count<=1)return false; return true; } let date1 = "05/05/2022"; if(checkDate(date1))console.log(date1+" is a date"); else console.log(date1+" is a number"); let date2 = "5.34"; if(checkDate(date2))console.log(date2+" is a date"); else console.log(date2+" is a number");

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda