HTML中的字符数限制


Answers:


133

有两种主要解决方案:

纯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 /任何脚本对其进行检查。


27
检查服务器作为最终的健康检查,但如果可以的话,请添加客户端增强功能;它带来了更丰富的用户体验。
罗布2009年

43

有一个maxlength属性

<input type="text" name="textboxname" maxlength="100" />

1
的确如此,但是有些客户没有对此进行检查。对于基于移动电话的客户端尤其如此。
Drejc

也有删除它们的方法。例如,Firefox Web Developer Extension具有“删除最大长度”功能。
山姆·哈斯勒

使用chrome及其开发人员工具包(浏览器随附),可以轻松删除html中的此类内容
AntonioCS,2012年

12

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

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


我同意。可以使用某些脚本工具将数据直接发布到网站中,因此,在这种情况下,maxlength和其他浏览器端的验证并非万无一失
cruizer 08/09/22

或使用Firebug并删除maxlength属性。
Zach


1

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

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

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


0

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

jQuery(document).ready(function($){ //fire on DOM ready
 setformfieldsize(jQuery('#comment'), 50, 'charsremain')
})
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.