JS截取汉字

JavaScript017

JS截取汉字,第1张

<script type="text/javascript">

//一个汉字相当于2个字符

    function get_length(s){

        var char_length = 0

        for (var i = 0 i < s.length i++){

            var son_char = s.charAt(i)

            encodeURI(son_char).length > 2 ? char_length += 1 : char_length += 0.5

        }

        return char_length

    }

    function cut_str(stbr, len){

        var char_length = 0

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

            var son_str = str.charAt(i)

            encodeURI(son_str).length > 2 ? char_length += 1 : char_length += 0.5

            if (char_length >= len){

                var sub_len = char_length == len ? i+1 : i

                return str.substr(0, sub_len)

                break

            }

        }

    }

//  截取15个字(30个字符)

//  cut_str('aa啊啊啊啊啊啊啊啊啊啊啊啊啊k的啊是', 15)

</script>

var str = "<aiiqewr中国'1#387axes"

var begin = 0 

for(var i=0i<str.lengthi++){

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

begin = i      

     

break      }

 }   

str = str.substring(i,i+1)

字符串截取常用的几种方法:start:  必需。非负的整数,(第一个元素的索引为 0)。stop: 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果不传,那么返回到字符串的结尾。  let str = 'helloword' str.substring(1,5)  //  'ello'     截取字符串从第2位字符开始截取到第6位(包括第2位,不包括第6位)共四个字符 str.substring(2,-5)// 'he'     实际上是substring(2,0),负数都转换为0, substring 总是把较小的数作为起始位置     相当于 substring(0,2) 从第一位开始截取到第三位(包括第一位,不包括第三位)  str.substring(2)//lloword     只传一个参数则以传递的位数位为起点截取到字符串的结尾 start: 起始位置,(第一个元素的索引为 0)。 length: 要截取得长度 str.substr(1,5)// ellow     从第2位开始截取长度为5的字符串 str.substr(-3,2)//or     从倒数第三位开始向后截取两位 str.substr(1)//elloword     第二个参数不传测截取到字符串的最后start :   整数,指定从哪里开始选择(第一个元素的索引为 0)。 end:  整数,指定结束选择的位置 str.slice(1,3)// el 从第二位截取到第三位  共两个字符  不包含结束位置的第四位 str.slice(1) // elloword 第二个参数不传则截取到字符的最后一位, str.slice(-1)  //d 传负数则从字符的结尾开始截取字符