检查字符串是否包含换行符

时间:2013-02-28 08:45:36

标签: javascript jquery

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

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

3 个答案:

答案 0 :(得分:34)

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

如果您使用的是textarea,则可能会找到\n\r(或\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`
}

Live Example | Source

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

答案 1 :(得分:6)

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]);
  }

答案 2 :(得分:1)

你可以简单地使用这个

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