133

変数がnullであるか、すべて空のスペースがあるか、または単に空白( "")であるかどうかを確認する必要があります。

私は以下を持っていますが、それは機能していません:

var addr;
addr = "  ";

if (!addr) {
    // pull error 
}

私が次のことをすると、それは機能します:

if (addr) {

}​

必要なのはC#メソッドのようなものですString.IsNullOrWhiteSpace(value)

4

12 に答える 12

180

IsNullOrWhiteSpaceより厳密に模倣するが、null、空、またはすべてのスペースのみを検出する非jQueryソリューション:

function isEmptyOrSpaces(str){
    return str === null || str.match(/^ *$/) !== null;
}

...それから:

var addr = '  ';

if(isEmptyOrSpaces(addr)){
    // error 
}

*編集* opは具体的に次のように述べていることに注意してください。

varがnullであるか、空のスペースがあるか、または空白であるかどうかを確認する必要があります。

したがって、「空白」にはnull、スペース、または空白以上のものが含まれますが、私の答えはopの特定の質問に答えることを目的としています。たとえば、opはタブなどをキャッチしたくない場合があるため、これは重要です。

于 2012-04-19T16:43:40.657 に答える
41
if (addr == null || addr.trim() === ''){
  //...
}

null比較もキャッチしますundefinedfalse合格したい場合は、を使用して!addrください。逆方向のブラウザ互換性については、を交換addr.trim()して$.trim(addr)ください。

于 2012-04-19T16:21:44.847 に答える
22

使用できますif(addr && (addr = $.trim(addr)))

addrこれには、チェックを実行するときに単に無視するのではなく、実際に外側の空白を削除するという利点があります。

参照:http ://api.jquery.com/jQuery.trim/

于 2012-04-19T16:19:49.543 に答える
12

古い質問ですが、もっと簡単な答えに値すると思います。

あなたは簡単に行うことができます:

var addr = "  ";

if (addr && addr.trim()) {

    console.log("I'm not null, nor undefined, nor empty string, nor string composed of whitespace only.");

}
于 2020-01-12T13:54:18.160 に答える
7

上記の簡略版:(ここから:https ://stackoverflow.com/a/32800728/47226 )

function isNullOrWhitespace( input ) {
  return !input || !input.trim();
}
于 2018-05-24T14:10:14.597 に答える
5

に相当する独自のメソッドを作成できます

String.IsNullOrWhiteSpace(value)

function IsNullOrWhiteSpace( value) {

    if (value== null) return true;

    return value.replace(/\s/g, '').length == 0;
}
于 2012-04-19T16:30:48.740 に答える
5
isEmptyOrSpaces(str){
    return !str || str.trim() === '';
}
于 2019-05-17T15:14:18.213 に答える
4

空白をチェックするとき、c#メソッドはUnicode標準を使用します。空白には、スペース、タブ、キャリッジリターン、およびその他の多くの非印刷文字コードが含まれます。したがって、以下を使用することをお勧めします。

function isNullOrWhiteSpace(str){
    return str == null || str.replace(/\s/g, '').length < 1;
}
于 2013-06-29T00:03:08.413 に答える
1
isEmptyOrSpaces(str){
    return str === null || str.trim().length>0;
}
于 2019-01-08T08:35:06.660 に答える
0

これを試してみてください

/**
  * Checks the string if undefined, null, not typeof string, empty or space(s)
  * @param {any} str string to be evaluated
  * @returns {boolean} the evaluated result
*/
function isStringNullOrWhiteSpace(str) {
    return str === undefined || str === null
                             || typeof str !== 'string'
                             || str.match(/^ *$/) !== null;
}

このように使えます

isStringNullOrWhiteSpace('Your String');
于 2018-11-22T08:19:52.783 に答える
0
function isEmptyOrSpaces(str){
    return str === null || str.match(/^[\s\n\r]*$/) !== null;
}
于 2019-05-05T14:34:08.473 に答える
-2

あなたはこれを試すことができます:

do {
   var op = prompt("please input operatot \n you most select one of * - / *  ")
} while (typeof op == "object" || op == ""); 
// execute block of code when click on cancle or ok whthout input
于 2019-10-10T17:48:38.887 に答える