8

我想要一个针对文本区域中每个换行符的计数器。这在上传大量网络横幅时使用,所以我需要一个简单的计数器来计算用户添加了多少。现在,计数器仅在用户按下具有特殊横幅大小的链接时才起作用。

这是我现在的代码:

var i = 0;

$('.size').click(function(){
$('#total-number').text(i++);
return false;
});
4

5 回答 5

4

使用字符串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]);
}
于 2010-06-22T13:20:48.213 回答
3

使用正则表达式,您的问题可以这样解决(在 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变量现在包含文本中的换行数。

于 2010-06-22T13:27:18.823 回答
0

在文本区域中搜索“\n”。

可以肯定的是,对模式“\\n”进行正则表达式搜索并计算匹配数组,这将是换行计数。

于 2010-06-22T13:15:52.050 回答
0

它在您手动按 Enter 时起作用,但是有没有办法计算 textarea 在复制粘贴数据时创建的换行符?我的意思是,如果您为 textarea 定义宽度然后粘贴一些文本,它将创建换行符...

于 2011-12-21T17:06:31.003 回答
0

你的意思是一个换行的单行字符串。如果我没记错的话,一个换行符是在按下 Enter 或 Shift+Enter 时创建的。

于 2014-09-05T17:46:16.357 回答