• js判断输入字符串长度(汉字算两个字符,字母数字算一个)


    js判断输入字符串长度(汉字算两个字符,字母数字算一个)

    文本输入时,由于数据库表字段长度限制会导致提交失败,因此想到了此方法验证。

    废话不多说上代码:

    复制代码
    <html>
    <head>
        <title>js判断输入字符串长度(汉字算两个字符,字母数字算一个)</title>
        <style type="text/css">
            .pbt {
                margin-bottom: 10px;
            }
    
            .ie6 .pbt .ftid a, .ie7 .pbt .ftid a {
                margin-top: 1px;
            }
    
            .cl:after {
                clear: both;
                content: ".";
                display: block;
                height: 0;
                visibility: hidden;
            }
        </style>
        <script type="text/javascript">
            //获取字符串长度(汉字算两个字符,字母数字算一个)
            function getByteLen(val) {
                var len = 0;
                for (var i = 0; i < val.length; i++) {
                    var a = val.charAt(i);
                    if (a.match(/[^x00-xff]/ig) != null) {//x00-xff→GBK双字节编码范围
                        len += 2;
                    }
                    else {
                        len += 1;
                    }
                }
                return len;
            }
            // 只要键盘一抬起就验证编辑框中的文字长度,最大字符长度可以根据需要设定
            function checkLength(obj) {
                var maxChars = 80;//最多字符数     
                var curr = maxChars - getByteLen(obj.value);
                if (curr > 0) {
                    document.getElementById("checklen").innerHTML = curr.toString();
                } else {
                    document.getElementById("checklen").innerHTML = '0';
                    document.getElementById("subject").readOnly = true;
                }
            }
        </script>
    </head>
    <body>
        <div class="pbt cl">
            <textarea id="subject" maxlength="80" onkeyup="checkLength(this)" accesskey="1" tabindex="11"></textarea>
            <span id="subjectchk">还可输入
            <strong id="checklen" style="color: #FF0000">80</strong>
                个字符
            </span>
            <span id="postNameRule" class="spn_flag_1" style="display: none"></span>
        </div>
    </body>
    </html>
  • 相关阅读:
    手写Promise——基于es6的Promise实现(含详细注释)
    手写promise
    package.json里面配置的啥
    package.json配置详解
    package.json的所有配置项及其用法,你都熟悉么
    sass语法进阶小结
    [转]利用vue-cli3快速搭建vue项目详细过程
    vue的接口封装和状态管理
    Vue项目封装请求数据的接口总结
    JSDoc入门使用指南 -- 手摸手教你用JSDoc(超好用的js文档生成工具)
  • 原文地址:https://www.cnblogs.com/refe/p/5048544.html
Copyright © 2020-2023  润新知