Maison  >  Article  >  interface Web  >  Comment valider les dates au format \"mm/jj/aaaa\" à l'aide de JavaScript ?

Comment valider les dates au format \"mm/jj/aaaa\" à l'aide de JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-30 03:42:28669parcourir

How to Validate Dates in

Validation des dates au format "mm/jj/aaaa" en JavaScript

La validation des dates dans un format spécifique est cruciale pour l'intégrité et la fiabilité des données. Par exemple, le format « mm/jj/aaaa » est couramment utilisé dans de nombreuses applications et nécessite une validation appropriée. Explorons une fonction JavaScript pour valider les dates dans ce format :

La fonction originale

Le code fourni dans la question semble avoir quelques problèmes. La fonction isDate vérifie d'abord la longueur de la chaîne de date et s'assure qu'elle comporte les barres obliques appropriées. Il extrait ensuite le mois, le jour et l'année de la chaîne et valide la plage d'années.

Cependant, le principal problème réside dans la comparaison des millisecondes calculées aux parties de date obtenues à partir de l'objet Date. Cette approche est sujette à des erreurs si la chaîne de date n'est pas valide.

Une approche simplifiée

La fonction suivante offre une méthode plus simple et plus fiable pour valider les dates dans le format "mm/jj/aaaa". format :

<code class="javascript">function isValidDate(dateString) {
    // Validate the pattern
    if (!/^\d{1,2}\/\d{1,2}\/\d{4}$/.test(dateString)) {
        return false;
    }

    // Parse the date parts
    const parts = dateString.split("/");
    const day = parseInt(parts[1], 10);
    const month = parseInt(parts[0], 10);
    const year = parseInt(parts[2], 10);

    // Check the month and year ranges
    if (year < 1000 || year > 3000 || month === 0 || month > 12) {
        return false;
    }

    // Consider leap years
    const monthLengths = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    if (year % 400 === 0 || (year % 100 !== 0 && year % 4 === 0)) {
        monthLengths[1] = 29;
    }

    // Validate the day in the context of the month
    return day > 0 && day <= monthLengths[month - 1];
}</code>

Utilisation et gestion des erreurs

Pour utiliser cette fonction, vous pouvez simplement passer la chaîne de date en argument. Il renvoie vrai si la date est valide au format "mm/jj/aaaa" et faux si elle n'est pas valide ou ne répond pas au format requis.

Gérez les erreurs de validation avec élégance en alertant l'utilisateur ou en affichant une erreur. message. Cela garantit que seules les dates valides sont traitées dans votre candidature.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn