问题描述
- 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"
解决方案七:
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);"
使用正则表达式,限制字节数