//一个汉字相当于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 传负数则从字符的结尾开始截取字符