限制HTML文本输入到特定字节数量?(Limit html text input to a part

2019-10-18 05:15发布

使用HTML5(或较不优选的JavaScript)是有可能的最大长度限制input到字节的特定数量?

我知道我可以限制一些具有字符:

<input type="text" maxlength="4" />

但是,这还不够好,因为我最多可以输入在它四两字节的字符。

显然,我这验证服务器端,但我想这在浏览器端了。

编辑:只是要清楚,我也希望能够支持UTF-8。 对不起@elclanrs。

Answer 1:

这个脚本有一个可以清理一对夫妇轻微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>


Answer 2:

如果估计不够好,我会过滤所有非单字节字符和计数。



文章来源: Limit html text input to a particular number of bytes?