问题:
我试图限制文本框中每行的行数和字母数。
到目前为止我得到了什么:
到目前为止,我设法使用以下方法限制行数:
var text = $(this).val();
var lines = text.split("\n");
if(e.keyCode == 13 && lines.length >= $(this).attr('rows')) {
return false;
}
如果达到行数限制,这将不允许用户按下返回键(keyCode 13)。
问题:
现在我也在尝试限制单行中的字母数量,因为如果我到达我的文本区域的末尾(带回车键)我仍然可以持有一个字母/写大量文本,它会跳转到另一行当它到达行尾时。这样,这种限制可能会被“欺骗”,我正在寻找解决方案。
我的想法,没有解决问题:
else{
for(var i = 0; i < lines.length && e.keyCode != 13; i++) {
if(lines[i].length >= $(this).attr('cols')) {
return false; // prevent characters from appearing
}
}
}
我试过这个来限制字母的数量。这行得通,但它有缺陷。如果我在一行中达到最大字母(ANY),我就不能再输入任何一行了。
我不知道如何只检查我现在输入的行。