2017-02-10 2 views
1

Construire une expression régulière qui rejettera une chaîne d'entrée contenant des espaces.Regex - correspond à une chaîne sans espaces

J'ai une expression suivante, mais elle ne fonctionne pas aussi bien;

^[[email protected]#*()+{}[\\];:,|\/\\\\_\S-]+$ 

cas valide

String123/test //string without space 

cas invalide

String123/ test // contains space in between string 

String 123/test // contains space in between string 

String123/test // contains leading\trailing space 

i.e.; J'ai des listes blanches qui ne contiennent aucun espace.

+0

Est-ce que l'espace que vous souhaitez rejeter ou il y a encore des personnages? – Niitaku

+1

console.log (! (/ \ S/.test ('ceci est'))); Ce serait le cas – rahulsm

+0

https://regex101.com/r/9gvVmm/1 – oruckdeschel

Répondre

3

Vous pouvez utiliser \S

\S correspond à tout espace non blanc

Regex

/^\S+$/g 

Exemple

function CheckValid(str){ 
 
    re = /^\S+$/g 
 
    return re.test(str) 
 
} 
 

 

 
console.log(CheckValid("sasa sasa")) 
 
console.log(CheckValid("sasa/sasa"))      
 
console.log(CheckValid("sas&2a/sasa"))      
 
        

+0

@Justin s'il vous plaît accepter la réponse si elle a résolu le problème –

0

Je suppose que vous allez utiliser la méthode .test sur regex, /\s/g celui-ci devrait faire le travail, il retournera vrai s'il y a un espace dans la chaîne. ex: /\s/g.test("String123/test") cela renvoie false ce qui signifie que la chaîne est valide /\s/g.test("String123 /test) cela retourne vrai ce qui signifie que la chaîne n'est pas valide