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

149
Visualizações
.JS cambia la fecha AAAA/MM/DD a DD/MM/AAAA

Estoy creando un script de pasaporte que anota el nombre, apellido, fecha de nacimiento y altura de un usuario. Sin embargo, no puedo hacer que funcione más que con AAAA/MM/DD. js not es mi punto fuerte y me ha estado rompiendo la cabeza durante las últimas horas.

El código original relativo a todo lo centrado en la Fecha de Nacimiento es:

 'use strict' const DATE_FORMAT = '****/**/**' const DATE_PLACEHOLDER = 'YYYY/MM/DD' const birthdate = document.querySelector('#birthdate') function DoFormat(x, pattern, mask) { var strippedValue = x.replace(/[^0-9]/g, '') var chars = strippedValue.split('') var count = 0 var formatted = '' for (let i = 0; i < pattern.length; i++) { const c = pattern[i] if (chars[count]) { if (/\*/.test(c)) { formatted += chars[count] count++ } else { formatted += c } } else if (mask) { if (mask.split('')[i]) formatted += mask.split('')[i] } } return formatted; } function Format() { const val = DoFormat(birthdate.value, DATE_FORMAT) birthdate.value = DoFormat(birthdate.value, DATE_FORMAT, DATE_PLACEHOLDER) if (birthdate.createTextRange) { var range = birthdate.createTextRange() range.move('character', val.length) range.select() } else if (birthdate.selectionStart) { birthdate.focus() birthdate.setSelectionRange(val.length, val.length) } } Format() birthdate.addEventListener('input', Format)
 if (field.id === 'birthdate') { if (/^\d\d\d\d\/\d\d\/\d\d$/.test(field.value)) { let [yyyy, mm, dd] = field.value.split('/').map(p => parseInt(p, 10)) mm -= 1 const date = new Date(yyyy, mm, dd) if (date.getMonth() === mm && date.getDate() === dd && date.getFullYear() === yyyy) { if (date.getFullYear() >= LOWEST_YEAR && date.getFullYear() <= HIGHEST_YEAR) { return true } } } this.Error(field) return false }

cambiar DATE_FORMAT o la expresión no produce ningún resultado. ¿Alguien tiene una pista? También me encantaría usar DD-MM-YYYY en lugar de DD/MM/YYYY, pero DD/MM/YYYY es mejor que nada.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Una forma más fácil sería simplemente dividir la cadena por / e invertir la matriz resultante, luego volver a unirla por / :

 function reformat(str){ return str.split('/').reverse().join('/'); } console.log(reformat("10/11/1213"))

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