js 字符串方法详解

1. charAt()

作用:通过下标值找到对应的字符。
语法:字符串.charAt(index);
参数:index:索引值
取值范围:0-字符串的length-1,如果超出这个范围,比如小于0或者大于等于length,会返回一个空字符。

代码

var str='guowei';
var a=str.charAt(0);
console.log(a);//g
var b=str.charAt(-1);
console.log(b);// 空字符串
var c=str.charAt(str.length);
console.log(c);// 空字符串
var d=str.charAt(str.length-1);
console.log(d);//i

如果参数没有,默认为0。

var str='xiha';
var a=str.charAt();
console.log(a);//x

返回值:返回一个参数对应的字符。

var str='song';
 console.log(str.charAt(2));//n

2. charCodeAt()

作用:通过下标找到对应字符的Unicode编码。
语法: 字符串.charCodeAt(index);
参数:index:索引值
取值范围:0-字符串的length-1,如果超出这个范围,比如小于0或者大于等于length,会返回一个NaN。

代码

var str='xiaoguo';
var a=str.charCodeAt(0);
console.log(a);//120  字符'x'对应的Unicode编码
var b=str.charCodeAt(str.length-1);
console.log(b);//111  字符'o'对应的Unicode编码
var c=str.charCodeAt(-1);
console.log(c);//NaN
var d=str.charCodeAt(str.length);
console.log(d);//NaN

如果参数没有,默认为0。

var str='hei';
var a=str.charCodeAt();
console.log(a);//104  字符'h'对应的Unicode编码

返回值:返回参数对应的字符的Unicode编码。

var str='a';
var a=str.charCodeAt(str);
console.log(a);//97  字符'a'对应的Unicode编码

3. indexOf()

作用:通过字符去找对应的下标值,找这个字符首次出现的位置(从左往右)。
语法:字符串.indexOf(searchValue,fromIndex);
参数searchValue要找的字符fromIndex开始查找的位置,默认值为0。

var str='imguo';
var a=str.indexOf('i');
console.log(a);//0
var b=str.indexOf('uo');
console.log(b);//3
var c=str.indexOf('g',2);
console.log(c);//2,从下标为2(g)的字符开始查找,找到以后,返回这个字符在整个字符串中的下标值。

返回值:如果查到的话,返回这个字符对应的下标值。如果没查到,返回-1。

var d=str.indexOf('g',3);
console.log(d);//-1,因为下标3的字符是u,从u往后找不到g了,所以返回-1,如果此时将字符串改为'imguog'的话,返回的就是5。

4. lastIndexOf()

作用:跟indexof的作用一样,只不过它查找的顺序是从右往左找。
语法:字符串.lastIndexOf(searchValue,fromIndex);
参数searchValue:要找的字符。fromIndex:从哪里开始找,没有参数的话默认为str.length-1。

从下标对应的字符开始往右找,找到字符后,返回这个字符在整个字符中的位置,如果有多个相同的字符,则返回这个字符最后出现的位置。

var str='imguo';
var a=str.lastIndexOf('u');
console.log(a);//3 它是从右往左找,找到后返回这个字符在整个字符串里的下标值
var str1='heiha';
var b=str1.lastIndexOf('h');
console.log(b);//3 虽然找到两个h,但是它返回的是从左至右最后一个h的位置,所以是3
var c=str1.lastIndexOf('h',1);
console.log(c);//0

返回值:如果查到的话,返回这个字符对应的下标值。如果没查到,返回-1。

var str='imguo';
var d=str.lastIndexOf('b',3);
console.log(d);//-1 字符里没有找到b

5. slice()

作用:截取字符串。
语法:字符串.slice(beginSlice,endSlice);
参数beginSlice:起始位置。endSlice:结束位置,没有这个参数默认为最后一个字符的位置。
注:不包含结束位置的字符。

 var str='imguo';
var a=str.slice(1,2);
console.log(a);//m

注:起始位置不能大于结束位置,否则返回一个空字符串。

var str='imguo';
var a=str.slice(2,1);
console.log(a);//  空字符串

如果两个参数都没有的话,返回整个字符串。

var str='imguo';
var a=str.slice();
console.log(a);//imguo

返回值: 返回一个截取后的字符串,原字符串不变。

6. split()

作用:把字符串按分隔符分割成数组。
语法:字符串.split(separator,limit);
参数:separator:分隔符。
分割后的数组当中是不包含这个参数的。它的左右必需切割成数组中的数据,如果没有的话,就为空。

var str='imguo';
var a=str.split('i');
console.log(a);//["", "mguo"]

如果参数没有,或者参数是一个空格字符,会把整个字符串分割成一个数组。

var str='imguo';
var a=str.split();
console.log(a);//["imguo"]

如果参数为一个空字符串的话,它会把字符串中的每一个字符都分成数组中的每一个数据。

var str='imguo';
var a=str.split('');
console.log(a);//["i", "m", "g", "u", "o"]

参数二:limit:分割后数组的长度,没有的话默认为全部。

var str='imguo';
var a=str.split('',2);
console.log(a);//["i", "m"]

返回值:返回一个截取后的数组,原字符串不变。

7. substring()

作用:截取字符串。
语法:字符串.substring(indexStart,indexEnd);
参数:indexStart:起始位置。indexEnd:结束位置,没有的话默认为最后一个字符的位置,不包含这个参数对应的字符。

var str='hello';
var a=str.substring(1);
console.log(a);//ello
var str='hello';
var a=str.substring(1,3);
console.log(a);//el

如果两个参数都没有,返回整个字符串。

var str='hello';
var a=str.substring();
console.log(a);//hello

返回值:返回截取的字符串,原字符串不变。

substring()和slice()的区别

  • slice的参数可以为负数,slice的起始位置是不能大于结束位置的。
  • substring的参数必需为正数,substring的起始位置可以大于结束位置,它会自动把两个位置调换。

8. substr()

作用:截取指定起始位置和长度的字符串。
语法: 字符串.substr(start,length);
参数:start:起始位置。length:截取的字符串长度(从指定的下标开始截取多少个字符),没有的话默认为起始位置到最后一个字符的长度。

var str='imguo';
var a=str.substr(1,3);
console.log(a);//mgu
var str='imguo';
var a=str.substr(2);
console.log(a);//guo

返回值:返回一个截取后的字符串,原字符串不变。

9. toLowerCase()

作用:把字符串转成全小写。
语法:字符串.toLowerCase();
参数:无。
返回值:返回一个全小写的字符串,原字符串不变。

var str='ImGuoWei';
var a=str.toLowerCase();
console.log(a);//"imguowei"

10. toUpperCase()

作用:把字符串转成全大写。
语法: 字符串.toUpperCase();
参数:无。
返回值:返回一个全大写的字符串,原字符串不变。

var str='welcome';
var a=str.toUpperCase();
console.log(a);//"WELCOME"

11. trim()

作用:去掉字符串前后的所有空格。
语法: 字符串.trim();
参数:无。
返回值:返回一个不包含首尾空格的字符串,原字符串不变。

var str='          abc efg    ';
var a=str.trim();
console.log(a);//"abc efg" 只去除首尾的空格
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值