2015-11-21 6 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 ДИВ и перекручивание через них, если arr[i]=='' он должен return true в console.log, но он продолжает возвращаться ложь всегда, хотя это пустая строка (пробел).

Demo

+1

Пространство не является пустым string.Quite непонятно, что вы ожидаете. Может быть, 'arr [i] == ''' ??? –

+0

@ A.Wolff: когда я получаю текст 'abc de' и отображаю его символ по символу в массиве. что будет хранить пространство как ?. Я попытался получить typeof arr [i], и он показал пространство как строку. Я ошибаюсь? – Pbk1303

+0

'' == ""; // false всегда. Пустая строка не может быть равна пробелу. –

ответ

3

Если вы хотите, чтобы проверить, является ли строка пустой использование:

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

Примите во внимание, что строка не считается пустым, если у него есть пробелы в нем! Если вы хотите игнорировать пробелы:

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

В этом положении нет пустой машины. Это космическая машина. Вы можете проверить, есть ли пробелы в символах, используя эту функцию.

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


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

Как указал А.Волф, пространство не является пустой строкой. Я также изменил == на ===, чтобы избежать принуждения. Вот 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]); 
     } 
    } 
} 
Смежные вопросы