Maison > Article > interface Web > Comment valider de manière fiable les dates au format « mm/jj/aaaa » en JavaScript ?
Validation des dates au format "mm/jj/aaaa" en JavaScript
Lors de la tentative de validation des dates au format "mm/jj/ aaaa" en utilisant le code fourni, vous pourriez rencontrer des problèmes. Analysons les erreurs possibles et fournissons une solution plus fiable.
La fonction d'origine vérifie si la chaîne d'entrée correspond au format souhaité et tente de créer un objet Date à partir des valeurs fournies. Cependant, il peut y avoir des écarts entre la date d'entrée et les parties calculées à partir de l'objet Date, conduisant à une validation incorrecte.
Fonction de validation améliorée
Pour résoudre ce problème, un une fonction de validation plus robuste peut être utilisée :
<code class="javascript">function isValidDate(dateString) { // Validate Format if (!/^\d{1,2}\/\d{1,2}\/\d{4}$/.test(dateString)) return false; // Parse Date Components const parts = dateString.split("/"); const day = parseInt(parts[1], 10); const month = parseInt(parts[0], 10); const year = parseInt(parts[2], 10); // Check Range of Month and Year if (year < 1000 || year > 3000 || month < 1 || month > 12) return false; // Adjust for Leap Years const monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; if ((year % 400 === 0) || ((year % 100 !== 0) && (year % 4 === 0))) { monthLength[1] = 29; } // Check Valid Day Range return day > 0 && day <= monthLength[month - 1]; }</code>
Cette fonction valide minutieusement les chaînes de date en vérifiant le format, en analysant les composants individuels, en évaluant la validité des plages de mois et d'années et en prenant en compte les années bissextiles pour déterminer la valeur valide. plage de jours.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!