我想要一个针对文本区域中每个换行符的计数器。这在上传大量网络横幅时使用,所以我需要一个简单的计数器来计算用户添加了多少。现在,计数器仅在用户按下具有特殊横幅大小的链接时才起作用。
这是我现在的代码:
var i = 0;
$('.size').click(function(){
$('#total-number').text(i++);
return false;
});
我想要一个针对文本区域中每个换行符的计数器。这在上传大量网络横幅时使用,所以我需要一个简单的计数器来计算用户添加了多少。现在,计数器仅在用户按下具有特殊横幅大小的链接时才起作用。
这是我现在的代码:
var i = 0;
$('.size').click(function(){
$('#total-number').text(i++);
return false;
});
使用字符串split
函数...
var text = $('#total-number').text();
var eachLine = text.split('\n');
alert('Lines found: ' + eachLine.length);
for(var i = 0, l = eachLine.length; i < l; i++) {
alert('Line ' + (i+1) + ': ' + eachLine[i]);
}
使用正则表达式,您的问题可以这样解决(在 textarea 中搜索换行符“\n”)):
//assuming $('#total-number') is your textarea element
var text = $('#total-number').val();
// look for any "\n" occurences
var matches = text.match(/\n/g);
// count them, if there are any
var breaks = matches ? matches.length : 0;
breaks
变量现在包含文本中的换行数。
在文本区域中搜索“\n”。
可以肯定的是,对模式“\\n”进行正则表达式搜索并计算匹配数组,这将是换行计数。
它在您手动按 Enter 时起作用,但是有没有办法计算 textarea 在复制粘贴数据时创建的换行符?我的意思是,如果您为 textarea 定义宽度然后粘贴一些文本,它将创建换行符...
你的意思是一个换行的单行字符串。如果我没记错的话,一个换行符是在按下 Enter 或 Shift+Enter 时创建的。