限制textarea中的行?

时间:2016-06-22 23:17:46

标签: javascript php jquery html

我有一张人们可以填写的表格,表格的结果会显示在页面上。表单限制为2000个字符,但是没有什么限制可以有多少换行符,所以有人可以在每行放置一个字符并获得2000个换行符,这会使页面变得非常糟糕。我希望限制他们可以在textarea中键入的行数,因此限制为2000个字符或40行,以先到者为准。

我还需要保护那些将大量文本粘贴到表单中的人。我看了很多关于这个的其他帖子,但是当我尝试它们时,没有一个答案有效。谢谢!

1 个答案:

答案 0 :(得分:1)

您是否已指定<textarea maxlength="2000"></textarea> - 这将是一个很好的起点。这会将字符限制为2000.

您还可以检查输入键(keycode=="13",如果我正确记得)并且a)禁止它或b)仅在完全停止后或在例如之后允许它&gt; 30个字符。只是一个建议

绝对指定maxlength。然后只能输入。请注意,中断计为字符,并从剩余的字符中扣除。

快去this,你会看到。

function textCount(val) {
    var len = val.value.length;

    if (len >= 500) {
        val.value = val.value.substring(0, 2000);
        $('#amtleft span').text(0);
    } else {
        $('#amtleft span').text(2000 - len);
    }
}
textCount($('#longText').get(0));
$('#longText').keyup(function() {
    textCount(this);
});
textarea{height:150px;
width:300px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<textarea id='longText' ></textarea><br>
<span id='amtleft'><label>&#40;<span>2000</span> characters left&#41;</label></span>