添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

需求:input输入的最大字符是8个,输入英文时可以最多输入8个英文字符,但是输入中文时,会出现在输入了四个汉字之后,就不能在输入了,原因在于一个汉字占了两个字节。

如何解决这个问题,即英文和汉字都最多输入8个,而不是按位来计算?

<!DOCTYPE html>
    <title></title>
    <meta charset="utf-8">
</head>
    <input type="text" name="input1" id="str" value="" placeholder="请输入字符串">
    <input type="text" name="length" value="" id="leng">
    <button onclick="GetLength()">测试</button>
    <script type="text/javascript">
        var GetLength = function() {
            var str = document.getElementById("str");
            var str1 = str.value;
            ///<summary>获得字符串实际长度,中文2,英文1</summary>
            ///<param name="str">要获得长度的字符串</param>
            var realLength = 0, len = str1.length, charCode = -1;
            for (var i = 0; i < len; i++) {
                charCode = str1.charCodeAt(i);
                if (charCode >= 0 && charCode <= 128){realLength += 1;
                }else{
                realLength += 2;}
            var objLength = document.getElementById("leng");
             objLength.value = realLength;
        // 执行代码:
        //alert(jmz.GetLength($('#userid').val()));
    </script>
</body>
</html>
  •