Apa cara terbaik untuk menguji string kosong dengan jquery-out-of-the-box, yaitu tanpa plugin? Saya mencoba ini .
Tapi itu tidak berhasil setidaknya di luar kotak. Akan menyenangkan untuk menggunakan sesuatu yang dibangun.
Saya tidak ingin mengulanginya
if (a == null || a=='')
di mana-mana jika beberapa if (isempty(a))
akan tersedia.
javascript
jquery
Martin
sumber
sumber
Jawaban:
Untuk mengabaikan ruang putih untuk string:
Jika Anda memerlukan dukungan sebelumnya (IE8-) untuk
trim()
, gunakan$.trim
atau polyfill .sumber
a
"" atau nilai falsy lainnya (null, false, undefined, 0, NaN).if (!$.trim(a))
if (!a.trim())
agak berbahaya? Bagaimana jikaa
tidak terdefinisi atau nol?Tautan yang Anda berikan tampaknya mencoba sesuatu yang berbeda dengan tes yang Anda coba hindari berulang.
menguji apakah string tersebut adalah string kosong atau nol. Artikel yang Anda tautkan ke pengujian jika string seluruhnya terdiri dari spasi putih (atau kosong).
Tes yang Anda uraikan dapat diganti dengan:
Karena dalam javascript, string kosong, dan null, keduanya bernilai false dalam konteks boolean.
sumber
if(!a)
tidak akan gagal untuk string yang terdiri dari katakan 4 spasi? ``0
seperti string kosong, tetapi tidak"0"
. Saya menganggap itu yang Anda maksud? Bisa dibayangkan bahwa ini sedang digunakan dalam situasi di mana Anda tahu itua
adalah string, atau null, tapi ya. Sesuatu yang harus diperhatikan.Berdasarkan jawaban David, saya pribadi suka memeriksa objek yang diberikan terlebih dahulu jika itu adalah string. Kalau tidak memanggil objek
.trim()
yang tidak ada akan melempar pengecualian:Pemakaian:
sumber
Periksa apakah data adalah string kosong (dan abaikan ruang kosong apa pun) dengan jQuery:
sumber
Untuk memeriksa semua 'kosong' seperti null, undefined, '', '', {}, [] .
Gunakan kasing dan hasil.
sumber
dan
jika Anda ingin menerima nol tetapi tolak kosong
EDIT: woops, lupa kondisi Anda jika IS IS kosong
sumber
Coba jalankan ini di konsol browser Anda atau di node.js.
Oleh karena itu, konstruksi percabangan yang sederhana akan cukup untuk pengujian.
sumber
Karena Anda juga dapat memasukkan angka serta string tipe tetap, jawabannya sebenarnya adalah:
sumber
return !!$.trim(value);
Coba ini
sumber
sumber
null
makaa.trim()
akan gagal. Ini adalah urutan yang buruk untuk memeriksa banyak hal. Dan jika Anda mengubah urutannya, jawaban Anda tidak memberikan apa pun, yang belum disarankan sebelumnya.