Les expressions régulières(regex)
jalalnet
Messages postés
350
Date d'inscription
Statut
Membre
Dernière intervention
-
A.Nonymous -
A.Nonymous -
Bonjour,
j'essaye d 'appliqué un règle sur un champs de mon formulaire avec le regex (preg_match)
voila ce que j'ai comme code:
bon avec se code j'aimerai que l ajout passe si l utilisateur saisie que des lettre MAJ +numéro sinon affiche le msg d'erreur
alors lorsque j'essaye d'inséré une phrase minuscule ou des caractère spéciaux cela affiche erreur , mais si je varié les minscule+caractère spéciaux avec un lettre MAJ ou Num
l 'ajout passe
comment évité se pb....
j'essaye d 'appliqué un règle sur un champs de mon formulaire avec le regex (preg_match)
voila ce que j'ai comme code:
if ( preg_match("#[A-Z0-9]#", "$trimed_titre"))
{ exécute requête d'ajout dans la BDD}
else
{ echo "msg"}
bon avec se code j'aimerai que l ajout passe si l utilisateur saisie que des lettre MAJ +numéro sinon affiche le msg d'erreur
alors lorsque j'essaye d'inséré une phrase minuscule ou des caractère spéciaux cela affiche erreur , mais si je varié les minscule+caractère spéciaux avec un lettre MAJ ou Num
l 'ajout passe
comment évité se pb....
2 réponses
-
Normal.
#[A-Z0-9]# signifie "Recherche d'un caractère, compris entre A-Z ou 0 à 9"
#^([A-Z0-9]+)$# signifie "Recherche d'une chaine comprenant au moins 1 caractère, et constitué de caractères de A à Z ou de 0 à 9, et qui n'ai rient d'autre ni avant, ni après"
"+" => "Au moins 1 caractère de ce type"
"^" => "Rien d'autre avant"
"$" => "Rien d'autre après"
D'ailleurs, si une longueur fixe est attendue :
#^([A-Z0-9]{20})$# -
A voir la 1ère expression régulière, je pensais que seules les majuscules comptaient ...
Celle-ci accepte également les minuscules
#^([a-zA-Z0-9]+)$#
Concernant #^([A-Z])$#, cette expression s'attend à trouver 1 seul caractère, pas plus, pas moins. Ce n'est pas celle que j'ai donnée