2015-11-21 57 views
-2

我想在可競爭的div中鍵入文本,並且當我通過它們循環for循環作爲數組並檢查是否有任何空格字符(即abc de即兩個單詞之間的空格,它不會將它們識別爲空字符串)。請參閱下面的代碼。檢查數組中的字符串是否具有空格字符javascript/jquery

腳本:

function htmltoBBcode() { 
    $("#hidden").html($('#textEditor').html()); 
    $("#hidden").html($('#textEditor').html()); 
    var arr=$("#hidden").text(); 
    for(var i=0;i<arr.length;i++) 
    { 
     if(arr[i]=='') 
     { 
      console.log("i is true"+arr[i]); 
     } 
     else{ 
      console.log("i is false"+arr[i]); 
     } 
    } 
} 

在上面的代碼,我正在從CONTENTEDITABLE DIV文本,並通過他們的循環,如果arr[i]==''它應該在console.logreturn true但它一直返回false始終,即使它是一個空字符串(空格)。

Demo

+1

的空間不是空string.Quite不清楚你期待什麼。也許'arr [i] =='''??? –

+0

@ A.Wolff:當我得到文本'abc de'並在一個數組中逐個字符地顯示它。這個空間將被存儲爲什麼?我嘗試獲取類型arr [i],並將空格顯示爲字符串。我錯了嗎? – Pbk1303

+0

''==「」; //始終爲false。一個空字符串不能等於一個空格字符。 –

回答

3

如果你想檢查一個字符串是空的使用:

if (!arr[i]) { 
    // is emtpy 
} 

考慮到字符串不認爲是空的,如果有空格在裏面!如果你想忽略空白:

if (!arr[i].trim()) { 
    // is empty 
} 
3

沒有空卡拉科特取消這個位置。這是一個太空carácter。您可以使用此功能檢查是否有空格字符。

function hasWhiteSpace(s) { 
    return /\s/g.test(s); 
} 


if(hasWhiteSpace(arr[i])) 
      { 
       console.log("i is  true"+arr[i]); 
      } 
1

正如A.沃爾夫指出的那樣,空格不是空字符串。我還將==更改爲===以避免強制。這裏有一個jsbin

JS

function htmltoBBcode() { 
    $("#hidden").html($('#textEditor').html()); 
    $("#hidden").html($('#textEditor').html()); 
    var arr=$("#hidden").text(); 
    for(var i=0;i<arr.length;i++) 
    { 
     if(arr[i]===" ") 
     { 
      console.log("i is true: "+arr[i]); 
     } 
     else{ 
      console.log("i is false: "+arr[i]); 
     } 
    } 
} 
相關問題