各行に最大 15 文字の textarea に最大 5 行を入力してもらいたい。その後、ユーザーは、矢印、Del、Backspace など以外のキーを押さないようにすることができます。
これは、TextareaId、イベント、および各テキストエリアの制限を受け入れる関数です (文字制限が異なる 3 つのテキストエリアがあります)。event.preventDefault();
コードで到達していますが、ユーザーはさらに文字を追加できます
function charCountTextarea(textAreaId,event,limit)
{
var code = (event.keyCode ? event.keyCode : event.which);
var Length = $("#"+textAreaId).val().length;
var t = $("#"+textAreaId)[0];
var AmountLeft = limit - Length;
var lineIndex = t.value.substr(0, t.selectionStart).split("\n").length-1;
var t = $("#"+textAreaId).val().split("\n");
var lineIndex = (t.length)-1
var controlKeys = [8, 46, 37, 38,39,40];
var isControlKey = controlKeys.join(",").match(new RegExp(event.which));
if(lineIndex>4 && t[lineIndex].length>15) {
if(isControlKey) {
return;
}
else {
console.log("prevent");
event.preventDefault();
}
}
if(AmountLeft<0) {
if(isControlKey) {
return;
}
else {
console.log("preve 2");
event.preventDefault();
}
}
}