在特定行中计算textarea中的字符数

时间:2012-09-23 17:49:46

标签: javascript jquery html textarea

我如何读取特定行中的总字符数?

我希望用户只用5行输入75个字符在textarea中,意味着用户只能使用5个输入或返回,5个输入或返回后他将无法输入更多的字符。所以在一行中有15个字符。

我可以使用以下代码获取当前行号,如何计算该行onkeypress中的总字符数?

function getLineNumber()
{
    var t = $("#textareaId")[0];
    console.log(t.value.substr(0, t.selectionStart).split("\n").length);
}​

2 个答案:

答案 0 :(得分:3)

以下是jsFiddle,以下是代码:

function getLineNumber()
{
    var t = $("#textareaId")[0];
    var lineIndex = t.value.substr(0, t.selectionStart).split("\n").length-1;

    //alert the characters in line
    alert(t.value.substr(0, t.selectionStart).split("\n")[lineIndex].length);
}

$("#textareaId").keypress(function() {
  getLineNumber();
});

另一种方法是更新jsfiddle1

function getLineNumber()
{
    var t = $("#textareaId").val().split("\n");
    var lineIndex = (t.length)-1
    alert(t[lineIndex].length);
}

$("#textareaId").keypress(function() {
  getLineNumber();
});

希望这有帮助。

答案 1 :(得分:0)

也许你可以添加一点css来解决你的问题?

选项a:没有滚动条,文本区域扩展:

textarea {
overflow:auto;
}

选项b:没有滚动条,文本区域保持不变:

textarea {
overflow:hidden;
}

这有帮助吗?