Justin
Justin

Reputation: 398

Regex - match a string without having spaces

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.

Upvotes: 11

Views: 31910

Answers (2)

Sarath Sadasivan Pillai
Sarath Sadasivan Pillai

Reputation: 7091

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"))                      
                       

Upvotes: 19

Daniel Verejan
Daniel Verejan

Reputation: 91

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

Upvotes: 1

Related Questions