11

How can I determine if an input string only contains spaces, using javascript?

1

5 Answers 5

22

Another good post for : Faster JavaScript Trim

You just need to apply trim function and check the length of the string. If the length after trimming is 0 - then the string contains only spaces.

var str = "data abc";
if((jQuery.trim( str )).length==0)
  alert("only spaces");
else 
  alert("contains other characters");
Sign up to request clarification or add additional context in comments.

1 Comment

Or just !str.trim()
9
if (!input.match(/^\s*$/)) {
    //your turn...
} 

3 Comments

This assumes that input is the value, not the input element.
Yeah, like var input="dfdfd", I guess, getting input value from real input not a big problem.
I prefer this solution to .trim(), because you're looking for a specific pattern of characters, and that's precisely and explicitly what a regex describes. It would take a reader a little longer to understand your clever trick with trim.
2

Alternatively, you can do a test() which returns a boolean instead of an array

//assuming input is the string to test
if(/^\s*$/.test(input)){
    //has spaces
}

Comments

0
if(!input.match(/^([\s\t\r\n]*)$/)) {
    blah.blah();
} 

Comments

0

The fastest solution is using the regex prototype function test() and looking for any character that is not a space or a line break \S :

if (/\S/.test(str))
{
    // found something other than a space or a line break
}

In case that you have a super long string, it can make a significant difference.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.