Regex: au moins deux caractères dans un "textarea"
Résolu
chantaussel
Messages postés
140
Statut
Membre
-
chantaussel Messages postés 140 Statut Membre -
chantaussel Messages postés 140 Statut Membre -
Bonjour,
J'ai un petit problème de regex.
Dans un formulaire contenant un champ TEXTAREA, je souhaite vérifier avant envoi que l'utilisateur a bien écrit au moins deux caractères, sans compter les appuis sur la touche "entrée".
C'est bien il me semble le sens du point dans les regex?
Voilà ma regex:
Et j'ai testé plusieurs cas de figure:
- si je tape une seule lettre --> pas d'envoi
- si j'en tape deux --> envoi
- si je tape plusieurs fois sur entrée (sans rien écrire) --> pas d'envoi
Jusque là tout est normal, mais:
- si je tape une lettre + au moins une fois sur entrée --> envoi
Je ne comprends pas ce qui cloche... Ce n'est pas capital, mais je trouve ça bizarre.
Merci d'avance de votre aide :)
--
Quelques bases en javascript, débute en php/mySQL
J'essaie de mettre en ligne mon arbre généalogique.
J'ai un petit problème de regex.
Dans un formulaire contenant un champ TEXTAREA, je souhaite vérifier avant envoi que l'utilisateur a bien écrit au moins deux caractères, sans compter les appuis sur la touche "entrée".
C'est bien il me semble le sens du point dans les regex?
Voilà ma regex:
$message = strip_tags($_POST['message']);
if (preg_match("#.{2,}#", $message))
Et j'ai testé plusieurs cas de figure:
- si je tape une seule lettre --> pas d'envoi
- si j'en tape deux --> envoi
- si je tape plusieurs fois sur entrée (sans rien écrire) --> pas d'envoi
Jusque là tout est normal, mais:
- si je tape une lettre + au moins une fois sur entrée --> envoi
Je ne comprends pas ce qui cloche... Ce n'est pas capital, mais je trouve ça bizarre.
Merci d'avance de votre aide :)
--
Quelques bases en javascript, débute en php/mySQL
J'essaie de mettre en ligne mon arbre généalogique.
A voir également:
- Textarea regex
- Regex ne commence pas par - Forum Programmation
- Regex buddy - Télécharger - Édition & Programmation
- Regex pour evitez la répétition des caractères - Forum PHP
- Regex "ne commence pas par XX" ✓ - Forum PHP
- Expressions régulières "ne contient pas ..." ✓ - Forum Programmation
6 réponses
La classe . représente n'importe quelle caracteres, j'imagine qu'une chaine de caracteres remplis d'espaces uniquement est considéré comme vide par preg match (probablement un trim d'entré), mais avec une lettre avant, ils sont compté ^^
Utilise la classe "\w" (qui correspond à [A-Za-z0-9_] et les caractéres accentués) plutot que "." ou [:alnum:] (pareil que \w sans le "_")
Utilise la classe "\w" (qui correspond à [A-Za-z0-9_] et les caractéres accentués) plutot que "." ou [:alnum:] (pareil que \w sans le "_")