在文本区域中匹配换行符的正则表达式

9

我需要使用jQuery从textarea中获取值,并计算其中换行符的数量。我想使用正则表达式来完成这个任务。有人知道如何做吗?


2
你为什么“喜欢使用正则表达式来做这件事情”? - Howard
2个回答

24

正则表达式没有计数功能。最好像这样使用数组

var val = textarea.value;
var arr = val.split(/[\n\r]/g);
var count = arr.length;

你可以使用更少的行和变量来简化这个问题...

var count = $('textarea').val().split(/[\n\r]/g).length;

1
分割字符串的部分数量通常比分割部分少。通过1。 - katspaugh
2
一个稍微更好的解决方案是 $('textarea').val().match(/[\n\r]/g).length - Erik

2

http://jsfiddle.net/qxKmW/1/

$(document).ready(function() {
    var str = $("#txtField").val();
    parts = str.split(/[\n\r]/g);
    var newline_count = parts.length;
    alert("Count: " + newline_count);
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接