【问题标题】:Check for linebreaks in textarea with jQuery使用 jQuery 检查 textarea 中的换行符
【发布时间】:2011-03-06 19:43:15
【问题描述】:

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

这是我现在的代码:

var i = 0;

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

【问题讨论】:

    标签: jquery counter line-breaks


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案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]);
          }
          

          【讨论】:

          • text() 函数不省略换行符吗?
          【解决方案5】:

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-12-26
            • 1970-01-01
            • 1970-01-01
            • 2023-03-18
            • 1970-01-01
            • 1970-01-01
            • 2022-07-31
            相关资源
            最近更新 更多