Interdire 2 espaces consécutif dans input

Résolu/Fermé
13stephweb13 Messages postés 48 Date d'inscription mardi 29 novembre 2011 Statut Membre Dernière intervention 9 mai 2018 - 16 avril 2015 à 10:30
13stephweb13 Messages postés 48 Date d'inscription mardi 29 novembre 2011 Statut Membre Dernière intervention 9 mai 2018 - 16 avril 2015 à 18:44
Bonjour,
je bloc sur un petit truc, donc je fait appel à votre aide svp:

Dans un champ input de type text, je souhaite interdire 2 espaces consécutif.
Je pensais que ceci est faisable avec preg_match, j'ai essayé ceci:
if(!preg_match("#^[ ]{2,1000}$#",$texte)) {
	OK...
}
else {
	Erreur...
}

Mais sans succès.
Y-a t-il une solution?

Merci beaucoup
A voir également:

2 réponses

VlkPr3s Messages postés 235 Date d'inscription vendredi 30 mai 2014 Statut Membre Dernière intervention 27 juin 2016 130
16 avril 2015 à 10:42
Salut, sans trop t'en dire va voir du coté de trim ;) !

dis moi quoi ! :)
0
13stephweb13 Messages postés 48 Date d'inscription mardi 29 novembre 2011 Statut Membre Dernière intervention 9 mai 2018
Modifié par 13stephweb13 le 16/04/2015 à 11:32
merci,
mais trim supprime les espaces en début et fin de chaine de caractères.
Donc ça ne résous pas mon problème.

Ce que je veut c'est autoriser un espace, exemple:
text bla bla

Et surtout interdire 2 espaces consécutifs

merci
0
VlkPr3s Messages postés 235 Date d'inscription vendredi 30 mai 2014 Statut Membre Dernière intervention 27 juin 2016 130
16 avril 2015 à 11:55
Alors à ce moment là fait une recherche dans ta chaine et si tu as plus de deux espaces tu lui envoie une erreur
0
13stephweb13 Messages postés 48 Date d'inscription mardi 29 novembre 2011 Statut Membre Dernière intervention 9 mai 2018
16 avril 2015 à 13:23
ok merci. mais comment faire ceci? car je débute, et j'ai fais pas mal de recherche dans Google. Mais je n'ai pas trouvé la solution.
Merci.
0
ReDLoG Messages postés 243 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 28 octobre 2021 57 > 13stephweb13 Messages postés 48 Date d'inscription mardi 29 novembre 2011 Statut Membre Dernière intervention 9 mai 2018
16 avril 2015 à 18:35
Bonsoir,
Pas la peine d'interdire, il suffit de traiter dans le script PHP la chaîne reçue pour supprimer les espaces en trop, ça évite des allers/retours entre l'utilisateur et le serveur inutilement. Ainsi tu peux utiliser la chaîne nettoyée pour ton but final (insertion en bdd, envoi mail, etc...) :
<?php
/* Enlève les espaces en trop (double espaces, triple espaces, etc...) */
$string = "Voici  une  chaîne  qui  comporte  2  espaces  consécutifs.";
$string = preg_replace("/\s+/", " ", $string);
echo $string; // Pour le test
?>

Cordialement.
0
13stephweb13 Messages postés 48 Date d'inscription mardi 29 novembre 2011 Statut Membre Dernière intervention 9 mai 2018
16 avril 2015 à 18:44
ok merci
0