Pertanyaan Bagaimana Anda memeriksa string kosong di JavaScript?


aku melihat ini benang, tetapi saya tidak melihat contoh spesifik JavaScript. Apakah ada yang sederhana string.Empty tersedia di JavaScript, atau hanya kasus pemeriksaan ""?


2141
2017-09-30 17:17


asal


Jawaban:


Jika Anda hanya ingin memeriksa apakah ada nilai, Anda bisa melakukannya

if (strValue) {
    //do something
}

Jika Anda perlu memeriksa secara khusus untuk string kosong di atas null, saya akan berpikir untuk mengecek "" adalah taruhan terbaik Anda, menggunakan itu === operator (sehingga Anda tahu bahwa itu, pada kenyataannya, sebuah string yang Anda bandingkan).

if (strValue === "") {
    //...
}

2740
2017-09-30 17:20



Untuk memeriksa apakah string kosong, null atau tidak terdefinisi, saya menggunakan:

function isEmpty(str) {
    return (!str || 0 === str.length);
}

Untuk memeriksa apakah string kosong, null atau tidak terdefinisi, saya menggunakan:

function isBlank(str) {
    return (!str || /^\s*$/.test(str));
}

Untuk memeriksa apakah string kosong atau hanya berisi spasi-putih:

String.prototype.isEmpty = function() {
    return (this.length === 0 || !this.trim());
};

902
2017-07-16 01:45



Semua hal di atas bagus tetapi ini akan menjadi lebih baik. menggunakan !!(tidak tidak) operator.

if(!!str){
some code here;
}

atau gunakan jenis pengecoran:

if(Boolean(str)){
    codes here;
}

Keduanya melakukan fungsi yang sama, ketik cast variabel ke boolean, di mana str adalah variabel.
Pengembalian false untuk null,undefined,0,000,"",false.
Pengembalian true untuk string "0" dan spasi "".


225
2018-03-30 13:34



Jika Anda perlu memastikan bahwa string bukan hanya sekelompok ruang kosong (saya menganggap ini adalah untuk validasi form), Anda perlu melakukan penggantian pada spasi.

if(str.replace(/\s/g,"") == ""){
}

88
2017-09-30 23:08



Hal terdekat yang bisa Anda dapatkan ke str.Empty (dengan prasyarat yang str adalah String) adalah:

if (!str.length) { ...

75
2017-09-30 19:17



Saya menggunakan :

function empty(e) {
  switch (e) {
    case "":
    case 0:
    case "0":
    case null:
    case false:
    case typeof this == "undefined":
      return true;
    default:
      return false;
  }
}

empty(null) // true
empty(0) // true
empty(7) // false
empty("") // true
empty((function() {
    return ""
  })) // false

44
2017-07-09 18:52



var s; // undefined
var s = ""; // ""
s.length // 0

Tidak ada yang mewakili string kosong di JavaScript. Lakukan pemeriksaan terhadap keduanya length (jika Anda tahu bahwa var akan selalu berupa string) atau melawan ""


23
2017-09-30 17:42



Mencoba:

if (str && str.trim().length) {  
    //...
}

22
2018-01-09 02:54



Saya tidak terlalu khawatir tentang hal itu efisien metode. Gunakan apa yang paling jelas bagi niat Anda. Bagi saya itu biasanya strVar == "".

EDIT: per komentar dari Constantin, jika strVar bisa beberapa bagaimana akhirnya mengandung nilai integer 0, maka itu memang akan menjadi salah satu dari situasi klarifikasi maksud tersebut.


21
2017-09-30 17:20



Fungsi:

function Is_Empty_or_Undefined (MyVar){      return (

        (typeof MyVar== 'undefined')
                    ||
        (MyVar == null) 
                    ||
        (MyVar == false)  //!MyVariable
                    ||
        (MyVar.length == 0)
                    ||
        (MyVar == "")
                    ||
        (MyVar.replace(/\s/g,"") == "")
                    ||
        (!/[^\s]/.test(MyVar))
                    ||
        (/^\s*$/.test(MyVar))
  );
}

19
2018-02-27 20:31



Anda juga bisa menggunakan regexps:

if((/^\s*$/).test(str)) { }

Cek untuk string yang kosong atau diisi dengan spasi.


17
2018-05-31 14:57