2015-12-21 55 views
1

我有一個包含HTML和我自己的特殊標記的文本。在我打印文本之前,我需要知道它的長度,以便能夠產生適當的對話泡泡。Javascript:沒有HTML標記的字符串長度

我想獲得字符串的實際長度,但我無法獲得所有特殊標記的長度。

He're字符串的例子

var text = 'Lorem ipsum dolor sit amet [T1]. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed aliquam accumsan elit, non vestibulum ex venenatis vitae. <br /><br />[D|1000] Hesitulus <br /> <span class="important"> l[D|100]o[D|100]r[D|100]e[D|100]m</span> <br />

我試圖讓所有的‘[]’的長度 - 類型中使用正則表達式的子串,但我沒有師父和我只有第一個失敗。嘗試了更多的選擇,但沒有成功。

var allMyMarkup = text.match(/(\[.*?\])/); // selecting only the first code 

如何獲得我的模式的所有發生?

回答

3

使用g修飾符象下面這樣:

text.match(/(\[.*?\])/g) 

g modifier指的是 '全球性',這意味着,找到所有的比賽,而不僅僅是一個拳頭。

+0

哦......那不是那麼棘手!它的工作,thx非常! –

+0

如果它解決了你的問題,你可以將答案標記爲已解決:) – James

+0

確實如此,但我需要等10分鐘才能做到這一點。 :) –

0

使用:

document.querySelector('.your_element').innerHTML.length; 

的innerHTML方法剝去HTML標籤。