回答:
文字列全体をチェックして空白のみがあるかどうかを確認する代わりに、空白以外の文字が少なくとも1つあるかどうかを確認するだけです。
if (/\S/.test(myString)) {
// string is not empty and not just whitespace
}
ブラウザがtrim()
機能をサポートしている場合の最も簡単な答え
if (myString && !myString.trim()) {
//First condition to check if string is not empty
//Second condition checks if string contains just whitespace
}
まあ、jQueryを使用している場合は、もっと簡単です。
if ($.trim(val).length === 0){
// string is invalid
}
この正規表現に対して文字列を確認してください:
if(mystring.match(/^\s+$/) === null) {
alert("String is good");
} else {
alert("String contains only whitespace");
}
文字列の途中にスペースを入れたいが、最初や最後には入れない正規表現は次のとおりです。
[\S]+(\s[\S]+)*
または
^[\S]+(\s[\S]+)*$
したがって、これは古い質問であることはわかっていますが、次のようなことができます。
if (/^\s+$/.test(myString)) {
//string contains characters and white spaces
}
または、nickfの言ったことを実行して使用できます。
if (/\S/.test(myString)) {
// string is not empty and not just whitespace
}