以下是您尝试解决的问题的示例快照:
- textarea 中的 4 行(将其限制在 textarea 本身,rows="4")
- 第 1、2 和 3 行限制为 24 个字符
- 第 4 行将有无限数量的字符
文本区域的快照:
123456789012345678901234
123456789012345678902333
232323232323232323323232
23232323232323232323236464536543654643
JavaScript:
$('#your-input').keypress(function() {
var text = $(this).val();
var arr = text.split("\n");
if(arr.length > 5) {
alert("You've exceeded the 4 line limit!");
event.preventDefault(); // prevent characters from appearing
} else {
for(var i = 0; i < arr.length; i++) {
if(arr[i].length > 24 && i < 3) {
alert("Length exceeded in line 1, 2, or 3!");
event.preventDefault(); // prevent characters from appearing
}
}
}
console.log(arr.length + " : " + JSON.stringify(arr));
});
这可以使用按键事件来完成。\n
当 keypress 事件触发时,获取文本框的当前值并使用换行符作为分隔符将值拆分为数组。
- 数组的长度告诉你你有多少行。如果您超出了这些界限,我们会发出警报。
- 数组中每个单独字符串的长度表示每一行的长度。我们使用 for 循环来检查前 3 行。如果我们超过 24 的长度,我们会发出警报。
- 我们忽略了循环的最后一次迭代,因为我们不关心最后一行的长度。
这不是一个完整的解决方案,但这肯定会让您开始并为您提供一些您可以修改以满足您的需求的东西。祝你好运!