10

Building an regular expression that will reject an input string which contain spaces.

I have a following expression, but its not working as well;

^[a-zA-Z0-9!@#*()+{}[\\];:,|\/\\\\_\S-]+$

Valid case

String123/test //string without space

Invalid case

String123/ test // contains space in between string 

String 123/test // contains space in between string 

 String123/test  // contains leading\trailing space

i.e; I have to white list strings which does not contain any spaces.

Justin
  • 378
  • 1
  • 3
  • 12

2 Answers2

17

You may use \S

\S matches any non white space character

Regex

/^\S+$/

Example

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


console.log(CheckValid("sasa sasa"))
console.log(CheckValid("sasa/sasa"))                      
console.log(CheckValid("sas&2a/sasa"))                      
                       
Wiktor Stribiżew
  • 607,720
  • 39
  • 448
  • 563
1

I suppose that you'll be using .test method on regex, /\s/g this one should do the job, it will return true if there's any space in the string. ex: /\s/g.test("String123/test") this will return false which means that the string is valid /\s/g.test("String123 /test) this will return true which means that the string is not valid