javascript match()錯誤

javascript match() error
投票:5回答:2

我正在嘗試計算前置元素的行數,並且正在使用以下代碼:

var numlines = $('#mypreelement').text().match(/\n\r?/g).length + 1;

它可以工作,但在某些情況下會出現錯誤

錯誤:$('#mypreelement')。text()。match(/ \\ n \\ r?/ g)為空

這只會在某些頁面上發生,但是這些頁面除了其內容外,與工作頁面沒有什麼不同...

為什麼?

tags:javascript,jquery,string,match
2回答
7
投票

這意味著它不能與它們中的任何一個匹配,並且null沒有length屬性。

所以試試這個...

if (var lines = $('#mypreelement').text().match(/\n\r?/g) != null) {
   var linesLength = lines.length + 1;
}

3
投票

MDC RegExp比賽

如果正則表達式包含g標誌,則該方法返回一個包含所有匹配項的Array。 如果沒有匹配項,則該方法返回null。


©2020 sofbug.com - All rights reserved.