/ / Comment utiliser preg_match dans php? [fermé] - php, html, formulaires, validation, preg-match

Comment utiliser preg_match dans php? [fermé] - php, html, formulaires, validation, preg-match

Je veux créer une validation de formulaire et je veux m'assurer que les utilisateurs ne saisiront aucun code dangereux dans les zones de texte, donc je veux utiliser preg_match pour faire ça. Ce que je n’aime pas, c’est que les utilisateurs tapent (quelque chose au lieu de mots de a-z, mots de A-Z et chiffres). Maintenant, comment puis-je utiliser preg_match ici?

Réponses:

3 pour la réponse № 1

Cette expression régulière n'autorise que les lettres et les chiffres.

/^[A-Zd]+$/i

utilisé dans preg_match

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

Regex101 démo: https://regex101.com/r/wH4uQ3/1

le ^ et $ nécessite la correspondance de chaîne entière (ce sont des ancres). le [] est une classe de caractères, ce qui signifie que tout caractère à l'intérieur est autorisé. le + signifie un ou plusieurs des caractères / groupes précédents (on parle de quantificateur). le A-Z est une plage que la classe de caractères comprend comme étant des lettres a-z. d est un nombre. le /s sont des délimiteurs indiquant le début et la fin de l’expression rationnelle. le i est un modificateur rendant le regex insensible à la casse (pourrait l'enlever et ajouter a-z les lettres minuscules sont également autorisées).

Démo PHP: https://eval.in/486282

Remarque La démonstration PHP échoue car les espaces ne sont pas autorisés. Pour autoriser les espaces h ou s dans la classe de caractères (le s comprend h donc pas besoin des deux; h est pour les espaces horizontaux.).


-1 pour la réponse № 2

Voici un exemple simple:

vous pouvez en savoir plus sur: http://php.net/manual/en/function.preg-match.php

Vous pouvez aussi faire ceci: $email = htmlspecialchars($_POST["email"]);

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