如何计算textarea中当前行的空格数
asdf
asdf
asdf
如果我的光标在第2行是当前的,那么结果应为:3
答案 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);
}
答案 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 。