Aide regex

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

  1. 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)';
    }
    
    1. 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 ?
      1. ^ -> si commençe par
        [^a-z] -> interdit
        * -> si existe 0 ou plusieurs fois
        $ -> si finit par