Maison >développement back-end >tutoriel php >Comment valider une entrée dans un format d'heure spécifique à l'aide d'expressions régulières en PHP

Comment valider une entrée dans un format d'heure spécifique à l'aide d'expressions régulières en PHP

PHPz
PHPzoriginal
2023-06-24 12:28:371562parcourir

En PHP, les expressions régulières sont très couramment utilisées, notamment lors de la validation des données d'entrée. Dans certains cas, nous devons vérifier l'entrée dans un format d'heure spécifique. Dans ce cas, nous devons utiliser des expressions régulières pour faciliter la vérification. Dans cet article, nous expliquerons comment utiliser des expressions régulières pour valider un format d'heure spécifique.

Étape 1 : Comprendre le format de l'heure

Avant de commencer à écrire des expressions régulières, nous devons d'abord comprendre le format de l'heure. Normalement, le format de l'heure peut être de 12 heures (am/pm) ou de 24 heures, et peut également inclure des informations telles que l'année, le mois, le jour et les secondes. Un format d'heure typique pourrait être :

  • Format 24 heures : HH:MM:SS
  • Format 12 heures : hh:mm:ss am/pm
  • Y compris le format de date : AAAA-MM-JJ HH : MM : SS
  • Autres formats possibles : MM-JJ-AAAA HH:MM:SS

Dans le format ci-dessus, HH représente la représentation à deux chiffres de l'heure, hh représente l'heure au format 12 heures et MM représente le nombre des minutes, SS représente les secondes, am/pm représente le matin ou l'après-midi. AAAA représente l'année, MM représente le mois et DD représente la date.

Étape 2 : Écrire des règles de correspondance

Après avoir compris le format de l'heure, nous pouvons commencer à écrire des expressions régulières pour correspondre au format de l'heure d'entrée. Voici quelques règles de correspondance de base :

  • correspond à HH:MM:SS au format 24 heures
$pattern = "/^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/";
  • correspond à hh:mm:ss am/pm au format 12 heures
$pattern = "/^(0?[1-9]|1[0-2]):[0-5][0-9]:[0-5][0-9] (am|pm)$/i";
  • correspond aux formats qui incluent des dates : AAAA-MM-JJ HH:MM:SS
$pattern = "/^(19|20)dd[-/.](0[1-9]|1[012])[-/.](0[1-9]|[12][0-9]|3[01]) ([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/";
  • Correspond à d'autres formats possibles : MM-JJ-AAAA HH:MM:SS
$pattern = "/^(0[1-9]|1[012])[-/.](0[1-9]|[12][0-9]|3[01])[-/.](19|20)dd ([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/";

Dans les expressions régulières ci-dessus, certaines fonctionnalités spéciales des expressions régulières sont utilisées Caractères , tel que "|" signifie "ou", "^" signifie correspondre au début de la chaîne, "$" signifie correspondre à la fin de la chaîne, "d" signifie correspondre à un caractère numérique, "01" signifie correspondre à un 0 ou 1 commençant par deux chiffres, etc.

Étape 3 : Utilisez la fonction preg_match pour vérifier l'entrée

Avec les règles de correspondance ci-dessus, nous pouvons utiliser la fonction preg_match pour vérifier si le format de l'heure d'entrée est conforme aux règles. La fonction preg_match peut accepter trois paramètres, qui sont l'expression régulière, la chaîne à vérifier et un tableau facultatif de résultats correspondants. Dans cet exemple, nous n'avons utilisé que les deux premiers paramètres, et le code est le suivant :

$pattern = "/^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/";
$time = "14:30:25";

if (preg_match($pattern, $time)) {
  echo "Time format is valid";
} else {
  echo "Time format is invalid";
}

Le code ci-dessus affichera "Le format de l'heure est valide" car 14:30:25 est conforme aux règles de correspondance des expressions régulières du 24- format de l'heure.

Il convient de noter qu'avant d'utiliser des expressions régulières pour vérifier le format de l'heure, vous devez vous assurer que la chaîne d'entrée est dans un format d'heure légal, sinon les résultats de la vérification seront inexacts. Dans le même temps, différentes règles d’expression régulière doivent être appliquées de manière flexible en fonction des besoins réels.

Résumé

L'utilisation d'expressions régulières pour valider la saisie dans un format d'heure spécifique en PHP est une exigence très courante. La vérification du format de l'heure peut être facilement réalisée en comprenant le format de l'heure, en écrivant des règles de correspondance et en utilisant la fonction preg_match pour vérifier l'entrée. J'espère que le contenu présenté dans cet article sera utile aux lecteurs.

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