/ / Wie benutze ich preg_match in PHP? [closed] - PHP, HTML, Formulare, Validierung, Preg-Match

Wie benutzt man preg_match in PHP? [geschlossen] - PHP, HTML, Formulare, Validierung, Preg-Match

Ich möchte eine Formularvalidierung erstellen und sicherstellen, dass Benutzer keine gefährlichen Codes in die Textfelder eingeben, um sie zu verwenden preg_match das zu tun. Was ich nicht mag, ist, dass Benutzer etwas tippen (etwas anstatt Wörter von A-Z, Wörter von A-Z und Zahlen). Wie kann ich jetzt verwenden? preg_match Hier?

Antworten:

3 für die Antwort № 1

Dieser Regex erlaubt nur Buchstaben und Zahlen.

/^[A-Zd]+$/i

wird in preg_match verwendet

if(preg_match("/^[A-Zd]+$/i", $string)) {
echo "Good";
} else {
echo "Bad";
}

Regex101 Demo: https://regex101.com/r/wH4uQ3/1

Das ^ und $ erfordern die gesamte Übereinstimmung der Zeichenfolge (sie sind Anker). Das [] ist eine Zeichenklasse, die bedeutet, dass ein beliebiges Zeichen zulässig ist. Das + bezeichnet ein oder mehrere der vorhergehenden Zeichen / Gruppen (dies wird als Quantifizierer bezeichnet) Das A-Z ist ein Bereich, den die Zeichenklasse als Buchstaben versteht a-z. d ist eine Zahl. Das /s sind Trennzeichen, die angeben, wo der Regex beginnt und endet. Das i ist ein Modifikator, der die Groß- / Kleinschreibung unempfindlich macht (könnte das entfernen und hinzufügen a-z Kleinbuchstaben sind ebenfalls erlaubt).

PHP Demo: https://eval.in/486282

Hinweis Die PHP-Demo schlägt fehl, weil Leerzeichen nicht zulässig sind h oder s in der Zeichenklasse (der s beinhaltet h also keine Notwendigkeit für beide; h ist für horizontale Räume.).


-1 für die Antwort № 2

Hier ist ein einfaches Beispiel:

Sie können mehr unter: http://php.net/manual/en/function.preg-match.php

Sie können dies auch tun: $email = htmlspecialchars($_POST["email"]);

$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}