js中文截取方法(js截取中文字符串)
JS字符串截取常用方法
字符串截取常用的几种方法:
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
传负数则从字符的结尾开始截取字符
JS截取汉字
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
js 怎么截取中文字符串?
var?str?=?"aiiqewr中国'1#387axes";
var?begin?=?0;?
for(var?i=0;istr.length;i++){
?????if?(str.charCodeAt(i)??127)?{
begin?=?i;??????
?????
break;??????}
?}???
str?=?str.substring(i,i+1);