zoukankan      html  css  js  c++  java
  • javascript 正确截取单字节和双字节混和字符串的方法

    <script type="text/javascript">

        function substr(str, len) {

            if (!str || !len) {

                return '';

            }

            var a = 0;

            var i = 0; //循环计数  

            var temp = ''; //临时字串

            for (i = 0; i < str.length; i++) {

                if (str.charCodeAt(i) > 255) {

                    a += 2; //按照预期计数增加2

                } else {

                    a++;

                }

                if (a > len) { //如果增加计数后长度大于限定长度,就直接返回临时字符串

                    return temp;

                }

                temp += str.charAt(i); //将当前内容加到临时字符串

            }

            return str; //如果全部是单字节字符,就直接返回源字符串

        }

        var str = "呵呵he哈哈嘿嘿and";

        document.write("字符串:<font color='red'>" + str + "</font><br /><br />");

        document.write("javascript 默认截取10个字节的返回值:<br />");

        document.write("<font color='red'>" + str.substr(0, 10) + "</font><br /><br />");

        document.write("用本文介绍的方法截取10个字节的返回值:<br />");

        document.write("<font color='red'>" + substr(str, 10) + "</font><br /><br />");

        document.write("截取9个字节的返回值:<br />");

        document.write("<font color='red'>" + substr(str, 9) + "</font><br /><br />");

    </script>

  • 相关阅读:
    [Leetcode]7. 整数反转
    [Leetcode]6. Z 字形变换
    [Leetcode]5. 最长回文子串
    java实现各种排序算法1
    [Leetcode]4. 寻找两个正序数组的中位数
    css设置字体单行,多行超出省略号显示
    如何获得select被选中option的value和text和......
    在vue项目中,将juery设置为全局变量
    js中遍历对象的属性和值的方法
    深入理解JS的事件绑定、事件流模型
  • 原文地址:https://www.cnblogs.com/enone/p/1782883.html
Copyright © 2011-2022 走看看