使用HTML5(或较不优选的JavaScript)是有可能的最大长度限制input
到字节的特定数量?
我知道我可以限制一些具有字符:
<input type="text" maxlength="4" />
但是,这还不够好,因为我最多可以输入在它四两字节的字符。
显然,我这验证服务器端,但我想这在浏览器端了。
编辑:只是要清楚,我也希望能够支持UTF-8。 对不起@elclanrs。
使用HTML5(或较不优选的JavaScript)是有可能的最大长度限制input
到字节的特定数量?
我知道我可以限制一些具有字符:
<input type="text" maxlength="4" />
但是,这还不够好,因为我最多可以输入在它四两字节的字符。
显然,我这验证服务器端,但我想这在浏览器端了。
编辑:只是要清楚,我也希望能够支持UTF-8。 对不起@elclanrs。
这个脚本有一个可以清理一对夫妇轻微UX故障,但它确实做到,当我在Chrome测试它列出的基本任务:
<input id=myinp />
<script> // bind handlers to input:
myinp.onkeypress=myinp.onblur=myinp.onpaste= function vld(e){
var inp=e.target;
// count bytes used in text:
if( encodeURIComponent(inp.value).replace(/%[A-F\d]{2,6}/g, 'U').length > 4){
// if too many bytes, try to reject:
e.preventDefault;
inp.value=inp.val||inp.value;
return false;
}
// backup last known good value:
inp.val=inp.value;
}
</script>
如果估计不够好,我会过滤所有非单字节字符和计数。