31

因此,我必须获取 textarea 的 HTML 并检查它是否包含换行符。我如何查看它是否包含\n,因为使用返回的字符串val()不包含\n并且我无法检测到它。我尝试使用.split("\n")但它给出了相同的结果。如何做呢 ?

一分钟,IDK 为什么当我将\ntextarea 作为值添加时,它会中断并移至下一行。

4

3 回答 3

57

HTML 中的换行符不由\nor表示\r。它们可以以多种方式表示,包括<br>元素,或任何跟随另一个(<p></p><p></p>例如)的块元素。

如果您使用 a textarea,您可能会发现\nor \r(or \r\n) 用于换行,因此:

var text = $("#theTextArea").val();
var match = /\r|\n/.exec(text);
if (match) {
    // Found one, look at `match` for details, in particular `match.index`
}

实例| 来源

...但这只是textareas,而不是一般的 HTML 元素。

于 2013-02-28T08:47:45.500 回答
13
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]);
  }
于 2013-02-28T08:49:07.097 回答
2

你可以简单地使用这个

var numberOfLineBreaks = (enteredText.match(/\n/g)||[]).length;

于 2021-01-06T12:09:52.513 回答