Maison >développement back-end >tutoriel php >Pourquoi mon Regex ne correspond-elle pas aux dates ISO en PHP ?

Pourquoi mon Regex ne correspond-elle pas aux dates ISO en PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-25 20:37:11483parcourir

Why Doesn't My Regex Match ISO Dates in PHP?

Pourquoi le modèle de date fourni ne correspond pas aux dates ISO

Le problème initial rencontré était qu'une expression régulière utilisée pour valider les dates de style ISO ne renvoyait pas le " vrai" résultat pour une date correspondante telle que "2012-08-24 20:30:00". Cela pourrait être déroutant, car l'expression régulière semblait valide lorsqu'elle était testée à l'aide d'un outil en ligne.

L'erreur réside dans l'absence de délimiteurs autour de l'expression régulière. En PHP, les expressions régulières doivent être placées entre "/". Une fois les barres obliques d'ouverture et de fermeture ajoutées, la fonction de validation doit correspondre correctement à la chaîne de date fournie, ce qui donne « vrai » lorsque le format est conforme à la norme ISO et « faux » dans le cas contraire.

Pour éviter d'éventuels pièges en écriture expressions régulières personnalisées, il est fortement recommandé d'utiliser la classe DateTime en PHP. Cette classe fournit une API complète pour travailler avec les dates et les heures, y compris des méthodes pratiques de validation et de formatage.

La fonction fournie utilisant la classe DateTime offre une solution polyvalente pour valider des dates dans différents formats. Il accepte une chaîne de date et une chaîne de format facultative. Des exemples de différents formats de date et d'heure sont présentés, fournissant une méthode robuste pour gérer les tâches de validation de date.

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