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

249
Visualizações
¿Cómo verificar la fecha de vencimiento de la tarjeta de crédito?

El usuario completa la información de la tarjeta de crédito. Quiero que la validación funcione si el usuario ingresa la fecha de vencimiento antes de hoy. Pero la entrada es la siguiente; mm/aa. Sin embargo, el usuario ingresa los últimos 2 dígitos del año. Por ejemplo, supongamos que el usuario ingresa la fecha de vencimiento como 21/06. La fecha de hoy es 22/06. En este caso, la validación debería funcionar. Necesito verificar el mes y el año que ingresó el usuario. Quiero mostrar un mensaje de error si el usuario ingresa una fecha incorrecta. He estado buscando pero no puedo integrarlo.

¿Como puedó resolver esté problema?

 const [errorList, setErrorList] = useState({ expDateValidationStateError: true, }); const [expDateValidationState, setExpDateValidationState] = useState({ error: false, helperText: '', }); const expDateOnChange = (event) => { if (expDateValidator(event.target.value)) { setExpDateValidationState({ error: false, helperText: '' }); setErrorList({ ...errorList, expDateValidationStateError: false }); } else { setExpDateValidationState({ error: true, helperText: t('payment-credit-card.error-messages.exp_date') }); setErrorList({ ...errorList, expDateValidationStateError: true }); } };
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Aquí está el código:

 const ccExpired = (date)=>{ const dateArr = date.split('/'); const exYear = +dateArr[1] + 2000; const exMonth = +dateArr[0] - 1; // JS months start with 0 const exDay = new Date(exYear,exMonth + 1,0).getDate(); const dateObj = new Date(exYear,exMonth,exDay - 2); // Timezones fix. const dateNow = new Date(); return dateNow > dateObj; } console.log("2/22 " + ccExpired('2/22')); console.log("3/33 " + ccExpired('3/33')); //This is for SO debug only, ignore. const currentMonth = (new Date().getMonth() + 1); const currentYear = (new Date().getFullYear()).toString().replace(/^20/, ''); const thisMonth = `${currentMonth}/${currentYear}`; const lastMonth = `${(currentMonth-1)}/${currentYear}`; const nextMonth = `${(currentMonth+1)}/${currentYear}`; console.log(thisMonth + " " + ccExpired(thisMonth)); console.log(lastMonth + " " + ccExpired(lastMonth)); console.log(nextMonth + " " + ccExpired(nextMonth));

about 4 years ago · Juan Pablo Isaza Relatório

0

O quizás

 const isCCExpired = str => { const [mm,yy] = str.split("/"); const dateObj = new Date(+yy + 2000,mm-1,15); // months are 0 based and don't take the 1st due to timezones console.log(dateObj); return dateObj.getTime() < new Date().getTime(); }; console.log("3/22",isCCExpired('3/22')); console.log("3/23",isCCExpired('3/23'));

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