如何限制处理php的textarea字段中的字符数?

时间:2012-05-06 06:34:50

标签: php html textarea character limit

我在html上使用一个textarea字段,处理由php完成。我想限制用户可以在textarea中输入的字符数。有没有办法可以做到这一点因为textarea字段然后存储到mysql数据库中,因此我必须根据字段的varchar值限制用户数据。

任何帮助?

5 个答案:

答案 0 :(得分:19)

您可以通过在HTML中的maxlength等textarea标记上设置<textarea maxlength="120"></textarea>属性来限制此操作,并通过substr()函数在PHP中“剪切”输入字符串。

答案 1 :(得分:9)

s.webbandit 所述,您可以使用maxlength,但请注意,这是HTML5中引入的新功能,如W3学校article关于<textarea> },所以“防弹”解决方案需要Javascript。因此,在版本10之前,Internet Explorer中的maxlength ,而在Opera中根本不支持

以下是一种使用Javascript帮助您的方法:

<script language="javascript" type="text/javascript">
   function charLimit(limitField, limitCount, limitNum) {
    if (limitField.value.length > limitNum) {
      limitField.value = limitField.value.substring(0, limitNum);
  } else {
      limitCount.value = limitNum - limitField.value.length;
       }
    }
</script>

然后您可以像这样使用它(original source):

    <textarea name="limitedtextarea" onKeyDown="charLimit(this.form.limitedtextarea,this.form.countdown,100);">
    </textarea>

这应该让你去。

答案 2 :(得分:4)

这是一种通过JavaScript限制文本区域长度的简单方法。

文本区域字段:

<input class='textField' type='text' NAME='note1' value='' onkeyup='charLimit(this, 40);'>

JavaScript函数:

function charLimit(limitField, limitNum) {
  if (limitField.value.length > limitNum) {
   limitField.value = limitField.value.substring(0, limitNum);}
}

当用户键入超过40个字符时,它只会删除它们。

答案 3 :(得分:1)

我尝试了很多不同的方法来限制textareas中的文本,我找到的最好的(客户端)是使用jQuery.Maxlength.js插件。简单快捷,涵盖所有!

步骤1.包括Maxlength插件脚本

<script language="javascript" src="jquery.maxlength.js"></script>

步骤2.将maxlength属性添加到

<textarea maxlength="35" 
    rows="5" cols="30" name="address"></textarea>

步骤3.初始化插件

<script type="text/javascript">
    $(document).ready(function($) {
             //Set maxlength of all the textarea (call plugin)
             $().maxlength();
    })
</script>

https://github.com/viralpatel/jquery.maxlength

答案 4 :(得分:0)

<script type="text/javascript">
        $(document).ready(function(){
        var maxChars = $("#sessionNumtext");
        var max_length = maxChars.attr('maxlength');
        if (max_length > 0) {
            maxChars.bind('keyup', function(e){
                length = new Number(maxChars.val().length);
                counter = max_length-length;
                $("#sessionNum_counter").text(counter);
            });
        }
    });
</script>

<textarea name="sessionNumtext" id="sessionNumtext" maxlength="20" type="text"></textarea>
kalan karakter sayısı: <span id="sessionNum_counters">20</span>