How can I determine if an input string only contains spaces, using javascript?
5 Answers
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");
1 Comment
Oriol
Or just
!str.trim()if (!input.match(/^\s*$/)) {
//your turn...
}
3 Comments
Joseph
This assumes that
input is the value, not the input element.Chuck Norris
Yeah, like
var input="dfdfd", I guess, getting input value from real input not a big problem.Chris
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.
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
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.