Heim  >  Artikel  >  Backend-Entwicklung  >  So validieren Sie Eingaben in einem bestimmten Zeitformat mithilfe regulärer Ausdrücke in PHP

So validieren Sie Eingaben in einem bestimmten Zeitformat mithilfe regulärer Ausdrücke in PHP

PHPz
PHPzOriginal
2023-06-24 12:28:371430Durchsuche

In PHP werden reguläre Ausdrücke sehr häufig verwendet, insbesondere bei der Validierung von Eingabedaten. In einigen Fällen müssen wir die Eingabe in einem bestimmten Zeitformat überprüfen. In diesem Fall müssen wir reguläre Ausdrücke verwenden, um die Übereinstimmungsüberprüfung zu unterstützen. In diesem Artikel erklären wir, wie Sie reguläre Ausdrücke verwenden, um ein bestimmtes Zeitformat zu validieren.

Schritt 1: Verstehen Sie das Zeitformat

Bevor wir mit dem Schreiben regulärer Ausdrücke beginnen, müssen wir zunächst das Zeitformat verstehen. Normalerweise kann das Zeitformat das 12-Stunden-Format (am/pm) oder das 24-Stunden-Format sein und kann auch Informationen wie Jahr, Monat, Tag und Sekunden enthalten. Ein typisches Zeitformat könnte sein:

  • 24-Stunden-Format: HH:MM:SS
  • 12-Stunden-Format: hh:mm:ss am/pm
  • Einschließlich Datumsformat: JJJJ-MM-TT HH: MM: SS
  • Andere mögliche Formate: MM-TT-JJJJ HH:MM:SS

Im obigen Format steht HH für die zweistellige Darstellung der Stunde, hh für die Stunde im 12-Stunden-Format und MM für die Minutenzahl, SS steht für Sekunden, am/pm steht für Morgen oder Nachmittag. YYYY steht für das Jahr, MM für den Monat und DD für das Datum.

Schritt 2: Vergleichsregeln schreiben

Nachdem wir das Zeitformat verstanden haben, können wir damit beginnen, reguläre Ausdrücke zu schreiben, die dem eingegebenen Zeitformat entsprechen. Hier sind einige grundlegende Zuordnungsregeln:

  • trifft HH:MM:SS im 24-Stunden-Format zu
$pattern = "/^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/";
  • trifft hh:mm:ss am/pm im 12-Stunden-Format überein
$pattern = "/^(0?[1-9]|1[0-2]):[0-5][0-9]:[0-5][0-9] (am|pm)$/i";
  • trifft Formate einschließlich Datumsangaben zu: YYYY-MM-DD 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]$/";
  • Entspricht anderen möglichen Formaten: MM-DD-YYYY 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]$/";

In den oben genannten regulären Ausdrücken werden einige Besonderheiten regulärer Ausdrücke verwendet. Zeichen, Beispielsweise bedeutet „|“ „oder“, „^“ bedeutet Übereinstimmung mit dem Anfang der Zeichenfolge, „$“ bedeutet Übereinstimmung mit dem Ende der Zeichenfolge, „d“ bedeutet Übereinstimmung mit einem numerischen Zeichen, „01“ bedeutet Übereinstimmung mit einer 0 oder 1 beginnend mit zwei Ziffern usw.

Schritt 3: Verwenden Sie die Funktion preg_match, um die Eingabe zu überprüfen.

Mit den oben genannten Übereinstimmungsregeln können wir die Funktion preg_match verwenden, um zu überprüfen, ob das Eingabezeitformat den Regeln entspricht. Die Funktion preg_match kann drei Parameter akzeptieren: den regulären Ausdruck, die zu überprüfende Zeichenfolge und ein optionales Array übereinstimmender Ergebnisse. In diesem Beispiel haben wir nur die ersten beiden Parameter verwendet und der Code lautet wie folgt:

$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";
}

Der obige Code gibt „Zeitformat ist gültig“ aus, da 14:30:25 den Regeln für die Übereinstimmung regulärer Ausdrücke des 24- Stundenformat.

Beachten Sie, dass Sie vor der Verwendung regulärer Ausdrücke zur Überprüfung des Zeitformats sicherstellen müssen, dass die Eingabezeichenfolge in einem zulässigen Zeitformat vorliegt, da sonst die Überprüfungsergebnisse ungenau sind. Gleichzeitig müssen unterschiedliche Regeln für reguläre Ausdrücke flexibel entsprechend den tatsächlichen Anforderungen angewendet werden.

Zusammenfassung

Die Verwendung regulärer Ausdrücke zur Validierung von Eingaben in einem bestimmten Zeitformat in PHP ist eine sehr häufige Anforderung. Die Überprüfung des Zeitformats kann einfach implementiert werden, indem Sie das Zeitformat verstehen, Abgleichsregeln schreiben und die Funktion preg_match verwenden, um die Eingabe zu überprüfen. Ich hoffe, dass der in diesem Artikel vorgestellte Inhalt für die Leser hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonSo validieren Sie Eingaben in einem bestimmten Zeitformat mithilfe regulärer Ausdrücke in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn