input限制输入框值大小

如标题所述:Jquery怎么现在input type="text" 输入框的值,比如限制最大不能超过10,那么这个框最大只能输入10,输入大于10的默认为10

html不是有一个maxlength么?可以不用jquery做到。
仅供参考:

 <input class="form-control required" type="text" placeholder="Username" name="username" autofocus="autofocus" maxlength="20"/>

在input 的 onchange 属性里用JavaScript判断长度是否超出范围,如果超出了就自动只截取范围内的数据,此办法虽可行,但却不是很人性化,因为在输入的时候没有限制最大长度,用户在不知情的情况下输入了一大串的字符,可当他焦点移走的时候却只截取了前面的一部分,如果我是用户,我也会用的很不爽。所以,这个方法也只是下下策。

maxlength。或者用js判断

可以利用html的maxlength 或者用jq给input绑定一个失去焦点的验证事件

onafterpaste="this.value=this.value.replace(/\D/g,'')" maxlength="10"

/**

  • 限制正副標題字節數 / function limitByte(obj){ var len = obj.value.replace(/[^\x00-\xff]/g, "*").length; if(len > 28){ alert("请輸入小於等於28个字節的字符,當前輸入長度為"+len+",已超出限制"+(len-28)+"個字符!"); obj.focus(); //加上这句 } }

输入框处

使用正则表达式,限制字节数

/**

限制正副標題字節數 / function limitByte(obj){ var len = obj.value.replace(/[^\x00-\xff]/g, "*").length; if(len > 28){ alert("请輸入小於等於28个字節的字符,當前輸入長度為"+len+",已超出限制"+(len-28)+"個字符!"); obj.focus(); //加上这句 } }
输入框处

使用正则表达式,限制字节数

function limitByte(obj){ var len = obj.value.replace(/[^\x00-\xff]/g, "*").length; if(len > 28){ alert("请輸入小於等於28个字節的字符,當前輸入長度為"+len+",已超出限制"+(len-28)+"個字符!"); obj.focus(); } }
输入框处
onblur="limitByte(this);"
使用正则表达式,限制字节数

html的maxlength属性就是控制输入框能输入多少个字符串用的,如果是textarea那就需要使用js来控制了,添加keydown事件判断value长度,超过就不允许继续输入

 <input type="text" maxlength="10" />
<textarea onkeydown="if (this.value.length >= 10)return false;"></textarea>