web-dev-qa-db-ja.com

文字列に空白だけでなく文字と空白が含まれているかどうかを確認するにはどうすればよいですか?

文字列に空白のみが含まれているかどうかを確認する最良の方法は何ですか?

文字列には、空白を含む文字結合を含めることができますが、just空白は使用できません。

119
patad

文字列全体をチェックして空白のみがあるかどうかを確認する代わりに、少なくとも1文字のnon whitespaceがあるかどうかを確認します。

if (/\S/.test(myString)) {
    // string is not empty and not just whitespace
}
276
nickf
if (/^\s+$/.test(myString))
{
      //string contains only whitespace
}

これは、1つ以上の空白文字をチェックします。空の文字列にも一致する場合は、+*に置き換えます。

32
Paul Creasey

ブラウザがtrim()関数をサポートしている場合の最も簡単な答え

if (myString && !myString.trim()) {
    //First condition to check if string is not empty
    //Second condition checks if string contains just whitespace
}
24
FullStack

さて、jQueryを使用している場合は、より簡単です。

if ($.trim(val).length === 0){
   // string is invalid
} 
18
Dayson

この正規表現に対して文字列をチェックするだけです:

if(mystring.match(/^\s+$/) === null) {
    alert("String is good");
} else {
    alert("String contains only whitespace");
}
6
Ian Clelland
if (!myString.replace(/^\s+|\s+$/g,""))
  alert('string is only whitespace');
1
shady

文字列の途中にスペースを許可したいときに使用した正規表現ですが、先頭または末尾ではありませんでした:

[\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
}
0
Will Strohmeier

次の方法を使用して、文字列に空白のみが含まれているかどうかを検出しました。また、空の文字列にも一致します。

if (/^\s*$/.test(myStr)) {
  // the string contains only whitespace
}
0
Rajat Saxena

これは迅速な解決策になります

return input < "\u0020" + 1;
0
9me