Aide regex

Fermé
jalalnet Messages postés 293 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 30 juillet 2023 - 26 oct. 2010 à 13:22
duweb Messages postés 353 Date d'inscription dimanche 30 mai 2010 Statut Membre Dernière intervention 6 mars 2014 - 27 oct. 2010 à 13:18
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:


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....


3 réponses

duweb Messages postés 353 Date d'inscription dimanche 30 mai 2010 Statut Membre Dernière intervention 6 mars 2014 72
26 oct. 2010 à 14:04
il faut prendre le problème à l'envers et interdire les minuscules :
if (preg_match('#^[^a-z]*$#', $trimed_titre)) {
    echo 'majuscule(s)';
} else {
    echo 'pas de majusucule(s)';
}
0
jalalnet Messages postés 293 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 30 juillet 2023 10
Modifié par jalalnet le 26/10/2010 à 14:53
merci pour le réponse tu peut m'explique un peut le code
bon ce que j ai compris la ta refusé des lettres en minuscule au début et la fin d une chaîne mais a quoi sert l'étoile ?
0
duweb Messages postés 353 Date d'inscription dimanche 30 mai 2010 Statut Membre Dernière intervention 6 mars 2014 72
27 oct. 2010 à 13:18
^ -> si commençe par
[^a-z] -> interdit
* -> si existe 0 ou plusieurs fois
$ -> si finit par
0