Bo┼č / tan─▒ms─▒z / bo┼č dizgeyi JavaScript'te nas─▒l kontrol edebilirim?


Al─▒nan cevaba git


Bu konuyu g├Ârd├╝m ama JavaScript'e ├Âzel bir ├Ârnek g├Ârmedim. string.Empty JavaScript'te basit bir se├ženek var m─▒ , yoksa sadece kontrol etmeniz gereken bir durum "" mu?


2604









Cevap say─▒s─▒n─▒ say: 30






Sadece herhangi bir de─čer olup olmad─▒─č─▒n─▒ kontrol etmek istiyorsan─▒z,

 if (strValue) {
    //do something
}
 

Null ├╝zerinden bo┼č bir dizgiyi ├Âzellikle denetlemeniz gerekiyorsa , i┼čleci "" kullanarak kar┼č─▒ denetlemenin en iyi bahsiniz oldu─čunu d├╝┼č├╝n├╝yorum (b├Âylece kar┼č─▒la┼čt─▒─č─▒n─▒z dize oldu─čunu biliyorsunuzdur). ===

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

3272







Bir dize bo┼č, bo┼č veya tan─▒ms─▒z olup olmad─▒─č─▒n─▒ kontrol etmek i├žin kullan─▒yorum:

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

Bir dizginin bo┼č, bo┼č veya tan─▒ms─▒z olup olmad─▒─č─▒n─▒ kontrol etmek i├žin kullan─▒yorum:

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

Bir dizginin bo┼č olup olmad─▒─č─▒n─▒ veya yaln─▒zca beyaz bo┼čluk i├žerdi─čini kontrol etmek i├žin:

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

1050







Yukar─▒dakilerin hepsi iyi ama bu daha iyi olacak. operat├Âr├╝ kullan─▒n !! ( de─čil ).

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

veya d├Âk├╝m tipi kullan─▒n:

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

Her ikisi de ayn─▒ i┼člevi yapar, de─či┼čkeni boolean'a d├Ân├╝┼čt├╝r├╝n, burada str de─či┼čkendir.
─░ade false i├žin null,undefined,0,000,"",false . "0" dizgisi ve bo┼čluk "" i├žin
d├Ând├╝r├╝r true .


273







E─čer dizgenin sadece bir s├╝r├╝ bo┼č alan olmad─▒─č─▒ndan emin olman─▒z gerekiyorsa (bunun form do─črulama i├žin oldu─čunu farz ediyorum) bo┼čluklar─▒ de─či┼čtirmek zorundas─▒n─▒z.

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

98







Alabilece─činiz en yak─▒n ┼čey str.Empty (str'nin bir String olmas─▒ ┼čart─▒yla):

 if (!str.length) { ...
 

94







Kullan─▒r─▒m :

 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
 

57


2010-07-09





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

JavaScript'te bo┼č bir dize temsil eden hi├žbir ┼čey yok. Ya length da var var her zaman bir dize olaca─č─▒n─▒ biliyorsan─▒z ya da kar┼č─▒ kontrol edin ""


33







Deneyin:

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

33







Lodash kullanabilirsiniz : _.isEmpty (de─čer).

Bu vakalar─▒n gibi bir s├╝r├╝ kapsar {} , '' , null , undefined vb

Ancak her zaman d├Ând├╝r├╝r gibi veya her iki Javascript ─░lkel Veri T├╝rleri t├╝r├╝ true i├žin d├Ând├╝r├╝r . Number https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures _.isEmpty(10) _.isEmpty(Number.MAX_VALUE) true


33







─░┼člev:

 function is_empty(x)
{
   return ( 
        (typeof x == 'undefined')
                    ||
        (x == null) 
                    ||
        (x == false)  //same as: !x
                    ||
        (x.length == 0)
                    ||
        (x == "")
                    ||
        (x.replace(/\s/g,"") == "")
                    ||
        (!/[^\s]/.test(x))
                    ||
        (/^\s*$/.test(x))
  );
}
 

ps Javascript'te Line-Break after return ;


32







En verimli y├Ântem hakk─▒nda ├žok fazla endi┼čelenmem . Niyetiniz i├žin en a├ž─▒k olan─▒ kullan─▒n. Benim i├žin bu genellikle strVar == "" .

EDIT: Constantin'den yap─▒lan yorum ba┼č─▒na , e─čer strVar 0 de─čerinde bir tamsay─▒ i├žeriyorsa, o zaman bu ger├žekten niyeti a├ž─▒klayan durumlardan biri olurdu.


26







Ayr─▒ca regexps ile gidebilirsiniz:

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

Bo┼č veya beyaz bo┼člukla dolu dizeleri denetler.


19


2010-05-31





  1. var a; varl─▒─č─▒n─▒ kontrol et
  2. ayarlayabilmek false spaces de─čeri, daha sonra test emptiness

     if ((a)&&(a.trim()!=''))
    {
      // if variable a is not empty do this 
    }
     

16







Bir├žok cevap ve bir├žok farkl─▒ olas─▒l─▒k!

H─▒zl─▒ ve basit bir uygulama i├žin ┼č├╝phesiz kazanan: if (!str.length) {...}

Bununla birlikte, bir├žok ba┼čka ├Ârnek mevcuttur. Bu konuda gitmek i├žin en iyi y├Ântem, ├Âneriyorum:

 function empty(str)
{
    if (typeof str == 'undefined' || !str || str.length === 0 || str === "" || !/[^\s]/.test(str) || /^\s*$/.test(str) || str.replace(/\s/g,"") === "")
    {
        return true;
    }
    else
    {
        return false;
    }
} 

Biraz fazla, biliyorum.


16







Ayr─▒ca, bo┼člukla dolu bir dizgiyi "bo┼č" olarak kabul etmeniz durumunda. Bu Regex ile test edebilirsiniz:

 !/\S/.test(string); // Returns true if blank.
 

15







Genelde b├Âyle bir ┼čey kullan─▒r─▒m.

 if (!str.length) {
//do some thing
}
 

13







Bir dizgede bo┼č karakterlerin bulunma olas─▒l─▒─č─▒n─▒ dikkate alan bir cevap g├Ârmedim. ├ľrne─čin, bo┼č bir karakter dizgimiz varsa:

 var y = "\0"; // an empty string, but has a null character
(y === "") // false, testing against an empty string does not work
(y.length === 0) // false
(y) // true, this is also not expected
(y.match(/^[\s]*$/)) // false, again not wanted
 

Bo┼člu─čunu test etmek i├žin b├Âyle bir ┼čey yap─▒labilir:

 String.prototype.isNull = function(){ 
  return Boolean(this.match(/^[\0]*$/)); 
}
...
"\0".isNull() // true
 

Bo┼č bir dizgede ve bo┼č bir dizgede ├žal─▒┼č─▒r ve t├╝m dizgilere eri┼čilebilir. Ek olarak, di─čer JavaScript bo┼č veya beyaz bo┼čluk karakterlerini i├žerecek ┼čekilde geni┼čletilebilir (├Ârne─čin, bo┼čluksuz, bayt sipari┼č i┼čareti, sat─▒r / paragraf ay─▒r─▒c─▒, vb.).


9







B├╝t├╝n bu cevaplar g├╝zel.

Ancak de─či┼čkenin bir dize oldu─čundan emin olam─▒yorum, yaln─▒zca bo┼čluk i├žermiyor (bu benim i├žin ├Ânemli) ve '0' (dize) i├žerebilir.

Benim versiyonum:

 function empty(str){
    return !str || !/[^\s]+/.test(str);
}

empty(null); // true
empty(0); // true
empty(7); // false
empty(""); // true
empty("0"); // false
empty("  "); // true
 

Jsfiddle'dan ├Ârnek al─▒n .


9







Birinin yaln─▒zca bo┼č de─čil, bo┼č dizeler de alg─▒lamas─▒ gerekiyorsa, Goral'─▒n cevab─▒n─▒ ekleyece─čim:

 function isEmpty(s){
    return !s.length;    
}

function isBlank(s){
    return isEmpty(s.trim());    
}
 

9







Bu arada , null, undefined, '', '', {}, [] gibi t├╝m 'bo┼člar─▒' kontrol eden bir i┼čleve sahip olabiliriz . Bu y├╝zden sadece bunu yazd─▒m.

 var isEmpty = function(data) {
    if(typeof(data) === 'object'){
        if(JSON.stringify(data) === '{}' || JSON.stringify(data) === '[]'){
            return true;
        }else if(!data){
            return true;
        }
        return false;
    }else if(typeof(data) === 'string'){
        if(!data.trim()){
            return true;
        }
        return false;
    }else if(typeof(data) === 'undefined'){
        return true;
    }else{
        return false;
    }
}
 

Durumlar─▒ ve sonu├žlar─▒ kullan─▒n.

 console.log(isEmpty()); // true
console.log(isEmpty(null)); // true
console.log(isEmpty('')); // true
console.log(isEmpty('  ')); // true
console.log(isEmpty(undefined)); // true
console.log(isEmpty({})); // true
console.log(isEmpty([])); // true
console.log(isEmpty(0)); // false
console.log(isEmpty('Hey')); // false
 

8







Genellikle ┼č├Âyle bir ┼čey kullan─▒r─▒m:

 if (str == "") {
     //Do Something
}
else {
     //Do Something Else
}
 

7







Ben bir kombinasyon kullan─▒yorum, ├Ânce en h─▒zl─▒ kontroller.

 function isBlank(pString){
    if (!pString || pString.length == 0) {
        return true;
    }
    // checks for a non-white space character 
    // which I think [citation needed] is faster 
    // than removing all the whitespace and checking 
    // against an empty string
    return !/[^\s]+/.test(pString);
}
 

7


2011-06-01





Bo┼čluk dizgilerini yok sayarak, bo┼č, bo┼č ve tan─▒ms─▒z bo┼člu─ču denetlemek i├žin bunu kullanabilirsiniz:

 var obj = {};
(!!obj.str) //returns false

obj.str = "";
(!!obj.str) //returns false

obj.str = null;
(!!obj.str) //returns false
 

├ľzl├╝ ve tan─▒ms─▒z ├Âzellikler i├žin ├žal─▒┼č─▒r, ancak en okunabilir olmasa da.


7







Dize olmayan ve bo┼č olmayan / bo┼č bir de─čeri bir s─▒nama i┼člevine ge├žirirseniz ne oldu─čunu ara┼čt─▒rd─▒m. Pek ├žok ki┼činin bildi─či gibi, (0 == "") javascript'te do─črudur, ancak 0 bir de─čer oldu─čundan ve bo┼č ya da bo┼č olmad─▒─č─▒ i├žin, bunun i├žin test etmek isteyebilirsiniz.

A┼ča─č─▒daki iki i┼člev yaln─▒zca tan─▒ms─▒z, bo┼č, bo┼č / bo┼čluk de─čerleri i├žin true, say─▒lar, boolean, nesneler, ifadeler gibi her ┼čey i├žin false de─čerini d├Ând├╝r├╝r.

 function IsNullOrEmpty(value)
{
    return (value == null || value === "");
}
function IsNullOrWhiteSpace(value)
{
    return (value == null || !/\S/.test(value));
}
 

Daha karma┼č─▒k ├Ârnekler var, ancak bunlar basit ve tutarl─▒ sonu├žlar veriyor. Tan─▒mlanmam─▒┼č i├žin test etmeye gerek yoktur, ├ž├╝nk├╝ (value == null) kontrol├╝ne dahil edilmi┼čtir. Ayr─▒ca, C # davran─▒┼č─▒n─▒ Dize'ye ┼ču ┼čekilde ekleyerek de taklit edebilirsiniz:

 String.IsNullOrEmpty = function (value) { ... }
 

String s─▒n─▒f─▒ prototipine koymak istemezsiniz, ├ž├╝nk├╝ String s─▒n─▒f─▒ ├Ârne─či null olursa, hata verecektir:

 String.prototype.IsNullOrEmpty = function (value) { ... }
var myvar = null;
if (1 == 2) { myvar = "OK"; } // could be set
myvar.IsNullOrEmpty(); // throws error
 

A┼ča─č─▒daki de─čer dizisi ile test ettim. ┼×├╝pheniz varsa, i┼člevlerinizi test etmek i├žin d├Âng├╝den ge├žirebilirsiniz.

 // Helper items
var MyClass = function (b) { this.a = "Hello World!"; this.b = b; };
MyClass.prototype.hello = function () { if (this.b == null) { alert(this.a); } else { alert(this.b); } };
var z;
var arr = [
// 0: Explanation for printing, 1: actual value
    ['undefined', undefined],
    ['(var) z', z],
    ['null', null],
    ['empty', ''],
    ['space', ' '],
    ['tab', '\t'],
    ['newline', '\n'],
    ['carriage return', '\r'],
    ['"\\r\\n"', '\r\n'],
    ['"\\n\\r"', '\n\r'],
    ['" \\t \\n "', ' \t \n '],
    ['" txt \\t test \\n"', ' txt \t test \n'],
    ['"txt"', "txt"],
    ['"undefined"', 'undefined'],
    ['"null"', 'null'],
    ['"0"', '0'],
    ['"1"', '1'],
    ['"1.5"', '1.5'],
    ['"1,5"', '1,5'], // valid number in some locales, not in js
    ['comma', ','],
    ['dot', '.'],
    ['".5"', '.5'],
    ['0', 0],
    ['0.0', 0.0],
    ['1', 1],
    ['1.5', 1.5],
    ['NaN', NaN],
    ['/\S/', /\S/],
    ['true', true],
    ['false', false],
    ['function, returns true', function () { return true; } ],
    ['function, returns false', function () { return false; } ],
    ['function, returns null', function () { return null; } ],
    ['function, returns string', function () { return "test"; } ],
    ['function, returns undefined', function () { } ],
    ['MyClass', MyClass],
    ['new MyClass', new MyClass()],
    ['empty object', {}],
    ['non-empty object', { a: "a", match: "bogus", test: "bogus"}],
    ['object with toString: string', { a: "a", match: "bogus", test: "bogus", toString: function () { return "test"; } }],
    ['object with toString: null', { a: "a", match: "bogus", test: "bogus", toString: function () { return null; } }]
];
 

7


2013-05-14





tam olarak bo┼č bir dize olup olmad─▒─č─▒n─▒ kontrol etmek i├žin:

 if(val==="")...
 

bo┼č bir dize olup olmad─▒─č─▒n─▒ kontrol etmek i├žin VEYA de─čer i├žermeyen mant─▒ksal bir e┼čde─čerdir (bo┼č, tan─▒ms─▒z, 0, NaN, yanl─▒┼č, ...):

 if(!val)...
 

7







Hi├žbir isEmpty() y├Ântem yok , t├╝r ve uzunlu─ču kontrol etmeniz gerekiyor:

 if (typeof test === 'string' && test.length === 0){
  ...
 

Tip onay zaman ├žal─▒┼čma zaman─▒ hatalar─▒ ├Ânlemek i├žin gerekli oldu─čunu test oldu─čunu undefined veya null .


6







Kolayca yerel dizgi nesnesine JavaScript'te ekleyebilir ve tekrar tekrar kullanabilirsiniz ... Bo┼č dizeleri
kontrol etmek istiyorsan─▒z a┼ča─č─▒daki kod gibi basit bir ┼čey sizin i├žin i┼či yapabilir '' :

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

Aksi takdirde, hem '' bo┼č dizgiyi hem de ' ' bo┼člu─ču kontrol etmek istiyorsan─▒z, bunu sadece trim() a┼ča─č─▒daki kod gibi bir ┼čey ekleyerek yapabilirsiniz :

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

ve buna ┼č├Âyle diyebilirsin:

 ''.isEmpty(); //return true
'alireza'.isEmpty(); //return false
 

6







Bunu dene:

 export const isEmpty = string => (!string || !string.length);
 

6







Kontrol etti─činiz de─či┼čkenin bir dize oldu─čunu varsaymay─▒n. Varsay─▒n─▒n bir uzunlu─ču varsa, bunun bir dize oldu─čunu varsaymay─▒n.

Mesele ┼čudur: uygulaman─▒z─▒n yapmas─▒ gereken ve kabul edebilece─či ┼čeyleri dikkatlice d├╝┼č├╝n├╝n. Sa─člam bir ┼čey in┼ča et.

Metodunuz / fonksiyonunuz sadece bo┼č olmayan bir dize i┼člemeli ise, arg├╝man─▒n bo┼č olmayan bir dize olup olmad─▒─č─▒n─▒ test edin ve baz─▒ hileler yapmay─▒n.

Burada baz─▒ ├Ânerileri dikkatlice izlememeniz durumunda patlayacak bir ┼čeyin bir ├Ârne─či olarak.

 
var getLastChar = function (str) {
 if (str.length > 0)
   return str.charAt(str.length - 1)
}

getLastChar('hello')
=> "o"

getLastChar([0,1,2,3])
=> TypeError: Object [object Array] has no method 'charAt'
 

Yani, ben sad─▒k kalaca─č─▒m

 
if (myVar === '')
  ...
 

5


2013-07-15





Bunu dene

 str.value.length == 0
 

5


2010-07-22

─░lgili yay─▒nlar


JavaScriptÔÇÖte ÔÇťtan─▒ms─▒zÔÇŁ nas─▒l kontrol edilir? [├žift]

JavaScript'te tan─▒mlanmam─▒┼č bir de─či┼čken nas─▒l kontrol edilir

Objective-C bo┼č bir dize denetlemenin do─čru yolu nedir?

HTML etiketlerini JavaScript'teki dizeden nas─▒l ├ž─▒kart─▒n? [├žift]

De─či┼čkenlerin python 2 ve 3 uyumlulu─ču ile string olup olmad─▒─č─▒n─▒ kontrol etme

Belirli bir dize Java'da ge├žerli bir JSON olup olmad─▒─č─▒n─▒ kontrol etme

Javascript'te dosya ad─▒ dizgisinden uzant─▒ ay─▒klan─▒r? [├žift]

Bir sorgu dizesi de─čerinin JavaScript ile mevcut olup olmad─▒─č─▒ nas─▒l kontrol edilir?

Bir std :: string ayarlanm─▒┼č m─▒, nas─▒l kontrol edilir?

Bir uri dizesinin ge├žerli olup olmad─▒─č─▒ nas─▒l kontrol edilir?

Etiketle ilgili di─čer sorular [javascript]


Bir de─či┼čkeni referans olarak nas─▒l iletirim?

Node.js (package.json) i├žin ÔÇťdevDependenciesÔÇŁ NPM mod├╝llerinin kurulmas─▒n─▒ nas─▒l ├Ânlersiniz?

Zaten var olan bir Docker konteynerine bir komutu nas─▒l ├žal─▒┼čt─▒r─▒r─▒m?

Chrome masa├╝st├╝ bildirim ├Ârne─či [kapal─▒]

matplotlib'de y ekseni s─▒n─▒r─▒n─▒ ayarlama

MySQL'i Ubuntu'ya bir ┼čifre sormadan kurun

─░frame'ler 'k├Ât├╝ uygulama' olarak m─▒ kabul edilir? [kapal─▒]

MySQL'de ROW_NUMBER ()

Top-├çarp─▒┼čmaya Kar┼č─▒ Top - Tespit ve Ta┼č─▒ma

T├╝m yerel git ┼čubelerini sil