我正在尝试在可竞争的div中键入一个文本,当我循环遍历它们时,for循环作为一个数组并检查是否有任何空白字符(即abc de
,即两个单词之间的空格不认为它们是空字符串)。请参阅下面的代码。
脚本:
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]==''
return true
console.log
getAccountDetails(..)
但它始终返回false,即使它是一个空字符串(空格)。
答案 0 :(得分:3)
如果要检查字符串是否为空,请使用:
if (!arr[i]) {
// is emtpy
}
考虑到如果String中有空格,则不认为它是空的!如果你想忽略空格:
if (!arr[i].trim()) {
// is empty
}
答案 1 :(得分:3)
这个位置没有空车。这是一个太空卡车。您可以使用此功能检查是否有空格字符。
function hasWhiteSpace(s) {
return /\s/g.test(s);
}
if(hasWhiteSpace(arr[i]))
{
console.log("i is true"+arr[i]);
}
答案 2 :(得分:1)
正如A.Wolff指出的那样,空格不是空字符串。我还将==
更改为===
以避免强制。这是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]);
}
}
}