使用jQuery检查textarea中的换行符

时间:2010-06-22 13:10:13

标签: jquery counter line-breaks

对于textarea中的每个换行符,我想要一个类似计数器的东西。这在上传大量网络横幅广告时使用,因此我需要一个简单的计数器来确定用户添加了多少。现在,只有当用户按下具有特殊bannerize的链接时,计数器才会起作用。

这是我现在的代码:

var i = 0;

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

5 个答案:

答案 0 :(得分: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]);
}

答案 1 :(得分: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变量现在包含文本中的换行符数。

答案 2 :(得分:0)

在textarea中搜索“\ n”。

要确定,请对模式“\\ n”执行正则表达式搜索并计算匹配数组,这将是换行计数。

答案 3 :(得分:0)

当你mannualy按回车键时,它有效,但有没有办法计算textarea在复制粘贴数据时创建的换行符?我的意思是,如果您为textarea定义宽度然后粘贴一些文本,它将创建换行符......

答案 4 :(得分:0)

你的意思是包裹的单行字符串。如果我没有弄错,则会在按Enter或Shift + Enter时创建换行符。