1

我需要设置输入元素中允许的最大字符数。使用该maxlength属性是否足够,还是我需要进一步的 PHP 或 JavaScript 验证?

这是我到目前为止所拥有的:

<input type="text" name="field-1" maxlength="20" />

4

3 回答 3

2

对于客户端:是的,如规范所述:

当 type 属性的值为“text”或“password”时,该属性指定用户可以输入的最大字符数。

尽管正如@RobG 所提到的,您必须在服务器端(例如PHP)验证数据。

HTML 输入maxlength 可以很容易地绕过,例如使用 JavaScript。
考虑以下小提琴,它显示了问题:http: //jsfiddle.net/2YUca/

于 2013-11-14T23:06:57.153 回答
0

在 internet explorer 9 > maxlenght 不适用于<textarea>字段。要让它工作,你需要添加一些 JS 这个例子使用 jQuery,但你可以使用标准 JS 轻松地做到这一点

$(document).ready(function () {


$('textarea').on('keyup', function () {
    // Store the maxlength and value of the field.
    if (!maxlength) {
        var maxlength = $(this).attr('maxlength');
    }
    var val = $(this).val();
    var vallength = val.length;

    // alert
    if (vallength >= maxlength) {


        alert('Please limit your response to ' + maxlength + ' characters');
        $(this).blur();
    }


    // Trim the field if it has content over the maxlength.
    if (vallength > maxlength) {
        $(this).val(val.slice(0, maxlength));
    }
});

//remove maxlength on blur so that we can reset it later.
$('textarea').on('blur', function () {
    delete maxlength;
});

});

于 2013-11-14T23:07:55.440 回答
0

使用 php 你可以使用 strlen() 函数

于 2013-11-15T00:49:05.140 回答