96

如何对 HTML 中的文本输入施加字符限制?

4

6 回答 6

133

有2个主要解决方案:

纯 HTML 之一:

<input type="text" id="Textbox" name="Textbox" maxlength="10" />

JavaScript 之一(将其附加到 onKey 事件):

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

但无论如何,也没有好的解决办法。你无法适应每个客户糟糕的 HTML 实现,这是一场不可能获胜的战斗。这就是为什么最好在服务器端使用 PHP / Python / 任何脚本检查它。

于 2008-09-22T08:35:34.230 回答
43

有一个 maxlength 属性

<input type="text" name="textboxname" maxlength="100" />
于 2008-09-22T06:01:00.733 回答
12

除了上述之外,我想指出客户端验证(HTML 代码、javascript 等)是远远不够的。还要检查服务器端的长度,或者根本不检查(如果它不是那么重要以至于人们可以绕过它,那么它也不够重要,不能真正保证采取任何措施来防止这种情况发生)。

另外,伙计们,他(或她)说的是 HTML,而不是 XHTML。;)

于 2008-09-22T06:08:29.887 回答
5

正如其他人所说,使用“maxlength”属性。

如果您需要在文本区域上设置最大字符长度,则需要使用 Javascript。看看这里:如何使用 JavaScript 在 HTML 中的 textArea 上施加 maxlength

于 2008-09-22T06:08:03.867 回答
1

对于 <input> 元素,有 maxlength 属性:

<input type="text" id="Textbox" name="Textbox" maxlength="10" />

(顺便说一句,类型是“文本”,而不是其他人写的“文本框”),但是,您必须使用带有 <textarea> 的 javascript。无论哪种方式,都应该在服务器上检查长度。

于 2008-09-22T06:12:18.397 回答
0

您可以使用非常快的 jquery 设置 maxlength

jQuery(document).ready(function($){ //fire on DOM ready
 setformfieldsize(jQuery('#comment'), 50, 'charsremain')
})
于 2015-10-01T11:31:16.867 回答