7
votes

Expression régulière tout caractère mais un espace blanc

Je crée un validateur de mot de passe qui prend n'importe quel caractère mais des espaces blancs et avec au moins 6 caractères.

Après avoir cherché le meilleur que je suis arrivé est cet exemple: Quel est le régulier L'expression pour la correspondance qui ne contient aucun espace blanc entre le texte?

Il désactive tous les espaces entre cela, mais permettent de commencer et de se terminer par un espace. Je veux interdire tout espace dans la chaîne passée.

J'ai essayé cela mais cela ne fonctionne pas: xxx

merci. < / p>


1 commentaires

Question muette: Pourquoi voudriez-vous empêcher les utilisateurs d'utiliser un espace dans leurs mots de passe?


5 Réponses :


0
votes

\ s - correspond à tout caractère non blanc-espace. Équivalent aux catégories de caractères Unicode [^ \ f \ n \ r \ t \ v \ x85 \ p {z}] . Si l'option ECMAScript est spécifiée avec l'option ECMAScript, \ s est équivalente à [^ \ f \ n \ r \ t \ v] . .

Le début de la chaîne que vous pouvez faire: ^ [\ t] + et pour la fin: [\ t] + $ (onglet et espaces)

ETA:

Au fait, vous regex [\ s +] , je pense que vous recherchez: [\ s] +


0 commentaires

0
votes

Je pense que vous devriez bien vouloir utiliser ce qui suit, ce qui correspondrait à une chaîne de plus de 1 caractère sans blanchiment: xxx

Vous pouvez voir le test ici: http://regexr.com?2ua2e .


0 commentaires

0
votes

Essayez ceci. Cela correspondra au moins 6 caractères non blanchisseurs suivis d'un nombre quelconque de caractères non blanchisseurs supplémentaires.

^[^\s]{6}[^\s]*$


0 commentaires

9
votes

L'expression la plus simple: xxx

^ signifie le début de la chaîne
\ s correspond à tout personnage non-blouse
{6,} signifie 6 ou plus de
$ signifie la fin de la chaîne

dans php, qui ressemblerait à xxx

edit: xxx

qtax est juste. Bon appel! Bien que si vous prenez une entrée à partir d'un Vous n'aurez probablement pas de nouvelles lignes de nouvelles lignes.


0 commentaires

9
votes

quelque chose comme ceci: xxx

peut être cité comme: xxx

toutes les réponses en utilisant $ sont faux (au moins sans drapeaux spéciaux). Vous devez utiliser \ z au lieu de $ si vous ne souhaitez pas laisser une pause de ligne à la fin de la chaîne.

  • $ correspond à la fin de la chaîne ou avant une pause de ligne à la fin de la chaîne (si aucun modificateur n'est utilisé)
  • \ z correspond à la fin de la chaîne (indépendante du mode multiligne)

    de http://www.pcre.org/pcre.txt : xxx


0 commentaires