
Validateur regex JavaScript de dates
Testez et validez facilement des formats de dates comme DD/MM/YYYY, MM-DD-YYYY ou les timestamps ISO 8601 grâce au Validateur regex JavaScript de dates. Que vous construisiez des formulaires, analysiez des journaux ou nettoyiez des données en JavaScript, cet outil garantit la précision et le bon formatage des dates. Essayez également le Testeur regex JavaScript pour expérimenter avec des patterns, ou combinez-le avec le Validateur regex JavaScript d'e-mail et le Validateur regex JavaScript d'adresse IP pour valider des données utilisateur complètes.
Validateur regex JavaScript de dates - Documentation
Qu'est-ce qu'un regex de dates ?
En JavaScript, une expression régulière (regex) pour les dates permet d'identifier et de valider si une chaîne correspond à un format de date spécifique. Que vous construisiez des formulaires, des filtres de données ou des journaux, valider les dates garantit que les utilisateurs saisissent correctement les informations et évite les erreurs en aval.
Un regex de dates peut correspondre à des patterns tels que :
DD/MM/YYYY
MM-DD-YYYY
YYYY-MM-DD
Timestamps ISO 8601 comme 2023-06-05T12:30:00Z
Pattern regex JavaScript pour la validation de dates
Voici un regex couramment utilisé pour la validation basique DD/MM/YYYY :
/^(0[1-9]|[12][0-9]|3[01])[\/\-](0[1-9]|1[0-2])[\/\-](19|20)\d\d$/Décomposition :
^(0[1-9]|[12][0-9]|3[01]): valide le jour (01 à 31)[\/\-]: accepte/ou-comme séparateur(0[1-9]|1[0-2]): valide le mois (01 à 12)(19|20)\d\d$: valide l'année (1900 à 2099)
Comment valider une date avec regex en JavaScript
Voici un extrait de code JavaScript utilisant regex pour la validation de dates :
function isValidDate(dateString) { const dateRegex = /^(0[1-9]|[12][0-9]|3[01])[\/\-](0[1-9]|1[0-2])[\/\-](19|20)\d\d$/; return dateRegex.test(dateString); }
console.log(isValidDate("25/12/2024")); // true console.log(isValidDate("2024-12-25")); // false
Regex est utile pour vérifier qu'une chaîne correspond à un format spécifique. Cependant, le constructeur Date de JavaScript ne parse pas nativement le format DD/MM/YYYY. Si vous devez convertir une chaîne dans ce format en objet Date, vous devrez d'abord la reformater en YYYY/MM/DD :
let dateInput = "15/05/2019"; // format DD/MM/YYYYlet dateArray = dateInput.split("/");
let newDate =
${dateArray[2]}/${dateArray[1]}/${dateArray[0]};
console.log(newDate); // 2019/05/15 (YYYY/MM/DD)
Vous pouvez ensuite utiliser newDate avec le constructeur Date de JavaScript en toute sécurité.
Vérifier si une chaîne est une date valide en JavaScript
Pour confirmer à la fois le format et la validité de la date elle-même, le constructeur Date et la fonction isNaN() sont vos alliés :
function isDateValid(dateStr) { return !isNaN(new Date(dateStr)); }// DD/MM/YYYY (non reconnu par Date) console.log(isDateValid("15/05/2019")); // false
// MM/DD/YYYY console.log(isDateValid("05/15/2019")); // true
// YYYY/MM/DD console.log(isDateValid("2019/05/15")); // true
Le constructeur Date reconnaît les formats MM/DD/YYYY et YYYY/MM/DD, mais pas DD/MM/YYYY. Combinez regex et isNaN() pour une validation stricte : vérifiez d'abord le format avec regex, puis confirmez la validité avec le constructeur.
Inverser les positions du jour et de l'année
Pour convertir une chaîne de DD/MM/YYYY en YYYY/MM/DD en JavaScript, décomposez et réassemblez les parties :
let originalDate = "15/05/2019"; // DD/MM/YYYY let parts = originalDate.split("/"); // Réorganisé en YYYY/MM/DD let convertedDate =${parts[2]}/${parts[1]}/${parts[0]};
console.log(convertedDate); // 2019/05/15
Convertir une date au format DD/MM/YYYY en JavaScript
Pour afficher une date au format DD/MM/YYYY à partir d'un objet Date JavaScript :
function formatDateToDDMMYYYY(dateInput) { const dateObj = new Date(dateInput); if (isNaN(dateObj)) return "Date invalide";let day = dateObj.getDate(); let month = dateObj.getMonth() + 1; // Les mois sont indexés à partir de 0 const year = dateObj.getFullYear();
// Toujours deux chiffres pour le jour et le mois day = day < 10 ? "0" + day : day; month = month < 10 ? "0" + month : month;
return
${day}/${month}/${year}; }
console.log(formatDateToDDMMYYYY("2019/05/15")); // "15/05/2019"
Notez que getMonth() retourne les mois avec un index base zéro, janvier vaut 0 et décembre vaut 11. Il faut donc ajouter 1 pour obtenir l'affichage correct.
Valider des dates avec isNaN() en JavaScript
Regex vérifie le format, mais isNaN() combiné à new Date() permet de s'assurer qu'une valeur peut réellement devenir un objet Date JavaScript valide :
function isDateValid(dateStr) {
return !isNaN(new Date(dateStr));
}Comparer des dates en JavaScript
Pour vérifier si une date précède ou suit une autre en JavaScript, vous pouvez utiliser directement les opérateurs de comparaison sur les objets Date :
const firstDate = new Date('2024-06-01'); const secondDate = new Date('2024-06-05');
console.log(firstDate < secondDate); // true console.log(firstDate > secondDate); // false
Pour vérifier l'égalité, utilisez .getTime() :
console.log(firstDate.getTime() === secondDate.getTime()); // falseAutres patterns utiles
ISO 8601 (ex. 2024-06-05T12:30:00Z) :
/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/Format MM-DD-YYYY :
/^(0[1-9]|1[0-2])--\d\d$/Pourquoi ajuster le mois avec getMonth() en JavaScript ?
La méthode getMonth() compte les mois à partir de zéro : janvier retourne 0, décembre retourne 11. Pour afficher la plage habituelle de 1 à 12, ajoutez toujours 1 à la valeur retournée :
const date = new Date();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
const year = date.getFullYear();
const formattedDate = ${month}-${day}-${year};Cas d'utilisation concrets
Validation de formulaires : assurez-vous que les utilisateurs saisissent des dates de naissance, des dates de réservation ou des échéances valides.
Analyse de journaux : extrayez des chaînes de dates valides depuis des journaux serveur avec le Testeur regex JavaScript.
Nettoyage de données : utilisez ce validateur pour normaliser les formats de dates dans les outils de traitement JavaScript.
Outils à utiliser en complément
Testeur regex JavaScript : construisez et déboguez rapidement des patterns de dates complexes.
Validateur regex JavaScript d'e-mail : validez les identifiants utilisateurs aux côtés des saisies de dates.
Validateur regex JavaScript d'adresse IP : combinez avec les journaux timestamp pour les données réseau.
Validateur regex JavaScript de mot de passe : utilisez avec les formulaires de création de compte ou d'inscription.
Conseils avancés
Utilisez
String.prototype.match()ou.test()pour des vérifications regex rapides en JavaScript.Validez toujours la logique de la date séparément (ex. le 30 février est invalide même si le regex l'autorise).
Tenez-vous en à ISO 8601 pour la cohérence des API et des bases de données.
Utilisez des groupes non capturants (
(?:...)) quand vous n'avez pas besoin d'extraire des parties de la correspondance.Pour la performance, compilez le regex une seule fois et réutilisez-le dans vos fonctions de validation.
Frequently Asked Questions
Le regex JavaScript peut-il détecter les dates invalides comme le 31/02/2023 ?
Doit-on utiliser des barres obliques ou des tirets dans le regex de dates ?
Peut-on valider des timestamps ISO avec regex ?
Ce regex est-il réutilisable dans les systèmes backend comme Node.js ?
Peut-on utiliser cet outil pour tester des patterns regex de dates pour d'autres formats ?
Related Articles



Testez vos API dès aujourd'hui !
Rédigez en langage naturel, Qodex génère des tests sécurisés et prêts à l'emploi.



