問題:
テキストボックスの各行の行数と文字数を制限しようとしています。
これまでに得たもの:
これまでのところ、これを使用して行数を制限することができました:
var text = $(this).val();
var lines = text.split("\n");
if(e.keyCode == 13 && lines.length >= $(this).attr('rows')) {
return false;
}
これにより、行数の制限に達した場合、ユーザーはリターン キー (keyCode 13) を押すことができなくなります。
問題:
今、私は1行の文字数も制限しようとしています。なぜなら、テキストエリアの最後に到達しても(リターンキーで)、文字を保持したり、大量のテキストを書いたりすることができ、別の行にジャンプするからです。行の終わりに達したとき。そうすれば、この制限を「だます」ことができ、その解決策を探しています。
問題を解決しない私の考え:
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
}
}
}
文字数を制限するためにこれを試しました。それは機能しますが、欠陥があります。1 行で最大文字数 ( ANY ) に達すると、どの行にも入力できなくなります。
今入力している行だけをチェックする方法がわかりません。