JavaScript-检查html字符串是否只有空标签或

时间:2019-05-09 01:54:15

标签: javascript html regex

我正在映射事件日历,并且json节点之一是歌手简历。

对于生物节点,我将得到类似的内容并将其附加到生物div。

<p>John Doe was born in Nantucket..</p>
<p>Yada yada</p>

但是,有时我会收到类似的信息,但我想将其设置为null以便不打印:

<p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>

如何检查字符串中是否包含空标签和/或&nbsp;,即

if(event.bio //has only empty tags || only white space || '&nbsp;') { 
     bio = null; 
}

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

const aux = document.createElement('div');
aux.innerHTML = yourString; //parses the html
const trimmedContent = aux.innerText.trim(); //get only the text and remove white space at the beginning and end

然后,您可以检查trimmedContent == ''是否为空。

答案 1 :(得分:0)

尝试

let content = "<p>&nbsp;</p><p>&nbsp; </p><p>&nbsp; </p>"

content = content = content.replace(/(<\/?[^>]+(>|$)|&nbsp;|\s)/g, ""); 

if (content === "") bio = null

为清楚起见,

 content = content = content.replace(/(<\/?[^>]+(>|$)|&nbsp;|\s)/g, "");

是以下内容的简洁形式:

content = content.replace(/<\/?[^>]+(>|$)/g, ""); //&nbsp;&nbsp; &nbsp;
content = content.replace(/&nbsp;/g, ""); //a space char
content = content.replace(/\s/g, ""); //empty string