Javascript 计算文本区域中当前行的空格数

Javascript 计算文本区域中当前行的空格数,javascript,jquery,html,textarea,Javascript,Jquery,Html,Textarea,如何计算文本区域中当前行的空格数 asdf asdf asdf 如果我的光标位于第2行的当前位置,则结果应为:3您需要拆分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);

如何计算文本区域中当前行的空格数

asdf
   asdf
asdf

如果我的光标位于第2行的当前位置,则结果应为:3

您需要拆分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);
}
var textString=//从textarea提取数据
var textary=textString.split(“\n”);
对于(var i=0;i,以下是代码:

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);
    }
}
这是你的电话号码


注意:
文本区域。selectionStart
在某些浏览器中不起作用。有关跨浏览器支持,请参见

为什么不进行建设性而不是向下投票?OP需要更精细的解决方案,希望根据光标位置了解情况。此外,您的循环正在检查相同的
文本数组[0]
每次你都需要获得光标位置,然后执行循环:@RayCheng。我只是显示你可以获得每一行的数据。你可以找到光标行,并将其传递到
var count=textArray[I]。match(//g);
而不是循环。@charlietfl修复了你发布时的打字错误。:P