这是我的多行编辑框
<xp:inputTextarea id="taID"></xp:inputTextarea>
我想计算用户输入的行数,例如按钮单击。 行以新行分隔。不确定我是否可以使用任何类型的数组,因为编辑框可能包含多达200K行。 使用JavaScript计算它的最佳方法是什么?
答案 0 :(得分:0)
计算textarea内容中的分隔线数量。请注意,它还添加1作为最后一个,所以如果你想省略,你可以减去1到总数:
function getBreakLines() {
var content = document.querySelector("#txtarea").value;
var numberOfLineBreaks = (content.match(/\n/g)||[]).length;
alert(numberOfLineBreaks);
}
<textarea rows="10" cols="50" id="txtarea">
dsakjdjsal
dajsldkasjldkas
</textarea>
<br>
<button onclick="getBreakLines()">
get number of break lines
</button>
因此,在您的情况下,使用#taID
答案 1 :(得分:0)
您可以使用非阻止功能扩展重复帖子:
var somestring="abcdefgh\naghdfgakhsgfasgd";
var counted=0;
(function rec(i){
for(a=Math.min(i+100,somestring.length);++i<a;){
if(somestring[i]==="\n") counted++;
}
if(i===somestring.length) alert(counted) else setTimeout(rec,0,i+1);
})(0);