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>

  • 相关阅读:
    个人总结
    再见,我的伪算法竞赛生涯。
    C语言实现迷宫小游戏
    关于第九届蓝桥杯决赛
    蓝桥杯近3年决赛题之3(17年b组)
    蓝桥杯近3年决赛题之二(16年b组)
    蓝桥杯近三年决赛题之一(15年B组)
    第九届蓝桥杯C/C++B组省赛感想
    读书笔记《程序员的自我修养—链接、装载与库》
    蓝桥杯近3年初赛题之三(17年b组)
  • 原文地址:https://www.cnblogs.com/enone/p/1782883.html
Copyright © 2011-2022 走看看