What is the best way to check if a string contains only whitespace?
The string is allowed to contain characters combined with whitespace, but not just whitespace.
This question is related to
javascript
string
whitespace
Well, if you are using jQuery, it's simpler.
if ($.trim(val).length === 0){
// string is invalid
}
This can be fast solution
return input < "\u0020" + 1;
I've used the following method to detect if a string contains only whitespace. It also matches empty strings.
if (/^\s*$/.test(myStr)) {
// the string contains only whitespace
}
if (!myString.replace(/^\s+|\s+$/g,""))
alert('string is only whitespace');
if (/^\s+$/.test(myString))
{
//string contains only whitespace
}
this checks for 1 or more whitespace characters, if you it to also match an empty string then replace +
with *
.
Simplest answer if your browser supports the trim()
function
if (myString && !myString.trim()) {
//First condition to check if string is not empty
//Second condition checks if string contains just whitespace
}
Just check the string against this regex:
if(mystring.match(/^\s+$/) === null) {
alert("String is good");
} else {
alert("String contains only whitespace");
}
The regular expression I ended up using for when I want to allow spaces in the middle of my string, but not at the beginning or end was this:
[\S]+(\s[\S]+)*
or
^[\S]+(\s[\S]+)*$
So, I know this is an old question, but you could do something like:
if (/^\s+$/.test(myString)) {
//string contains characters and white spaces
}
or you can do what nickf said and use:
if (/\S/.test(myString)) {
// string is not empty and not just whitespace
}
Source: Stackoverflow.com