计算textarea中当前行的空格数

时间:2013-02-19 01:40:53

标签: javascript jquery html textarea

如何计算textarea中当前行的空格数

asdf
   asdf
asdf

如果我的光标在第2行是当前的,那么结果应为:3

2 个答案:

答案 0 :(得分:0)

您需要拆分textarea的字符串值,然后:

var textString = //pull data from textarea
var textArray = textString.split("\n");
for(var i=0; i<textArray.length; i++) {
    var count = textArray[i].match(/ /g); //regex to get any number of spaces 
    alert(count.length);
}

http://jsfiddle.net/2qfHn/

答案 1 :(得分:0)

以下是代码:

window.onload = function () {
    var ta = document.getElementById('ta'); //set your textarea's id
    ta.onclick = function (e) {
        var lineNo = ta.value.substr(0, ta.selectionStart).split(/\r?\n|\r/).length,
            lineText = ta.value.split(/\r?\n|\r/)[lineNo - 1],
            numOfSpaces = lineText.split(/\s/).length - 1;
        console.log(lineNo, lineText, numOfSpaces);
    }
}

这是fiddle

注意: textarea.selectionStart在某些浏览器中不起作用。有关跨浏览器支持,请参阅 this post